我有这个库调用BASS这是我要使用带有麦克风录制的音频库。 我不得不使用它所需的所有文件,但我不知道如何安装库。 我试着服用示例文件,并把它们放在同一个目录中bass.h文件。 但是,我有一大堆的错误说法有一个不存在的函数调用。
所以我的问题是,如何安装它能够使用它?
我有这个库调用BASS这是我要使用带有麦克风录制的音频库。 我不得不使用它所需的所有文件,但我不知道如何安装库。 我试着服用示例文件,并把它们放在同一个目录中bass.h文件。 但是,我有一大堆的错误说法有一个不存在的函数调用。
所以我的问题是,如何安装它能够使用它?
安装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库是一个商业产品,或许他们将提供一些安装说明?
请参见下面的代码的代码和唐不忘记把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;
}
如果有指定的文件configure
, Makefile
或install
,你可以尝试在运行命令他们。 在此之后,要与此库链接任何程序必须使用如下命令:
c++ <your_program.cpp> -l<library_name> -L<path_where_library_is_installed>
库路径通常是原来的库文件夹本身,除非你明确地改变它或图书馆本身就是将像全球各地的文件/usr/local
或类似的东西。
运行在一个终端或控制台此命令。
cpp -v
在输出结束的通知,你会看到这样一行:
#include<...> search starts here:
这里将是线下的目录列表。 将程序包文件夹复制到这些目录之一。 然后尝试<>导入模块。