我有这个库叫BASS这是一个音频库,我将用它来记录麦克风。我有使用它所需的所有文件,但我不知道如何安装该库。我试着把示例文件放在与bass.h文件相同的目录中。但是我收到了一堆错误,说有不存在的函数调用。如何安装C++库以便我可以使用它?
所以我的问题是,我该如何安装它才能使用它?
我有这个库叫BASS这是一个音频库,我将用它来记录麦克风。我有使用它所需的所有文件,但我不知道如何安装该库。我试着把示例文件放在与bass.h文件相同的目录中。但是我收到了一堆错误,说有不存在的函数调用。如何安装C++库以便我可以使用它?
所以我的问题是,我该如何安装它才能使用它?
安装C++库手段指定给感兴趣的软件两种文件的位置(例如,编译器):标题(典型扩展的* .h或.HPP)和编译对象(的.dll或*的.lib例如)。
标题将包含库作者向开发者公开的声明,并且你的程序将#include它们的源代码,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库是一个商业产品,或许他们将提供一些安装说明?
如果有文件名为configure
,Makefile
或install
您可以尝试按顺序运行它们。在此之后,要与此库链接任何程序必须使用这样的命令:
c++ <your_program.cpp> -l<library_name> -L<path_where_library_is_installed>
库路径通常是原来的库文件夹本身,除非你明确地更改或本身就是将在其档案库像/usr/local
或类似的东西。
请参阅下面的代码代码,不要忘记将bass.dll放入exe文件的目录中,并将bass.lib文件包含在您的项目中,并且不要忘记包含bass.h和bass的路径.lib中默认包含和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;
}
在终端或控制台中运行此命令。
cpp -v
在输出结束的通知,你会看到这样一行:
#include<...> search starts here:
会有那么线下的目录列表。 将包文件夹移到其中一个目录。 然后尝试导入模块<>。
你使用什么编译器/ IDE?它是Visual Studio,DevC++,Code :: Block,还有什么? – kkaploon 2009-07-01 15:00:54
大多数图书馆都带有示例项目。你有没有遵循指示建立其中之一? – 2009-07-01 15:02:34