如何安装一个C ++库,所以我可以用它?(How do I install a c++ librar

2019-07-29 12:16发布

我有这个库调用BASS这是我要使用带有麦克风录制的音频库。 我不得不使用它所需的所有文件,但我不知道如何安装库。 我试着服用示例文件,并把它们放在同一个目录中bass.h文件。 但是,我有一大堆的错误说法有一个不存在的函数调用。

所以我的问题是,如何安装它能够使用它?

Answer 1:

安装C ++库设备指定给感兴趣的软件(如编译器)两种文件的位置:头部(典型扩展的* .h或.HPP)和编译的对象文件(.dll或* .LIB例如)。

标头将包含由库作者暴露给开发者的声明,你的程序将#包括他们的源代码,DLL将包含编译后的代码将被或联系在一起,并通过你的程序使用,他们将由连接器中发现(或动态加载,但是这是另一个步骤)。

所以,你需要

1) put the header files in a location which your compiler is aware of (typically IDE allows to set so-called include directories, otherwise you specify a flag like "-I<path-to-headers>" when invoking the compiler)
2) put the dll files in a location which your linker is aware of (surely your IDE will allow that, otherwise you speficy a flag like "-L<path-to-libraries> -l<name-of-libraries>"

最后但并非最不重要的,因为我看到BASS库是一个商业产品,或许他们将提供一些安装说明?



Answer 2:

请参见下面的代码的代码和唐不忘记把bass.dll在你的EXE文件的目录,包括与项目和唐不也忘了,包括在以bass.h路径和bass.lib文件bass.lib默认包括和你的项目的库路径。

#include <iostream>
#include "bass.h"

using namespace std;

int main(int argc, const char **argv)
{
   if (!BASS_Init(-1, 44100, 0, NULL ,NULL)) 
   {
   cout<<"Can't initialize device";
   return -1;
   }

            int stream = BASS_StreamCreateFile(false, "D:\\mypro\\Trans_Langs\\germ\\quran_amma\\Translations\\Sound_aya\\Sora1\\Hafs\\basfar\\a7.mp3", 0L, 0L, 0);
            if (stream != 0)
            {
                // play the stream channel
                BASS_ChannelPlay(stream, false);
            }
            else
            {
                // error creating the stream
                cout<<"Stream error: {0}", BASS_ErrorGetCode();
            }

   getchar();

            BASS_StreamFree(stream);
            // free BASS
            BASS_Free();

 return 0;
}


Answer 3:

如果有指定的文件configureMakefileinstall ,你可以尝试在运行命令他们。 在此之后,要与此库链接任何程序必须使用如下命令:

c++ <your_program.cpp> -l<library_name> -L<path_where_library_is_installed>

库路径通常是原来的库文件夹本身,除非你明确地改变它或图书馆本身就是将像全球各地的文件/usr/local或类似的东西。



Answer 4:

运行在一个终端或控制台此命令。

cpp -v

在输出结束的通知,你会看到这样一行:

#include<...> search starts here:

这里将是线下的目录列表。 将程序包文件夹复制到这些目录之一。 然后尝试<>导入模块。



文章来源: How do I install a c++ library so I can use it?