BASSというライブラリがあります。これは、マイクで録音するために使用するオーディオライブラリです。使用するために必要なすべてのファイルがありますが、ライブラリのインストール方法がわかりません。サンプルファイルを取得して、bass.hファイルと同じディレクトリに配置してみました。しかし、存在しない関数呼び出しがあるというエラーがたくさん発生しました。
だから私の質問は、それを使用できるようにするにはどうすればインストールできますか?
BASSというライブラリがあります。これは、マイクで録音するために使用するオーディオライブラリです。使用するために必要なすべてのファイルがありますが、ライブラリのインストール方法がわかりません。サンプルファイルを取得して、bass.hファイルと同じディレクトリに配置してみました。しかし、存在しない関数呼び出しがあるというエラーがたくさん発生しました。
だから私の質問は、それを使用できるようにするにはどうすればインストールできますか?
C ++ライブラリをインストールするということは、関心のあるソフトウェア(コンパイラなど)に、ヘッダー(通常の拡張子* .hまたは.hpp)とコンパイル済みオブジェクト(たとえば.dllまたは* .lib )の2種類のファイルの場所を指定することを意味します。
ヘッダーには、ライブラリの作成者によって開発者に公開された宣言が含まれ、プログラムはそれらをソースコードに#includeし、dllには、プログラムによってリンクまたはリンクされて使用されるコンパイル済みコードが含まれます。リンカによって検出されます(または動的にロードされますが、これは別のステップです)。
だからあなたはする必要があります
-I<path-to-headers>
、コンパイラを呼び出すときのようにフラグを指定します)-L<path-to-libraries> -l<name-of-libraries>
最後になりましたが、BASSライブラリは商用製品であることがわかったので、おそらくいくつかのインストール手順が利用可能になっているでしょうか。
このコマンドを端末またはコンソールで実行します。
cpp -v
出力の最後に、次のような行が表示されます。
#include<...> search starts here:
その行の下にディレクトリのリストが表示されます。パッケージフォルダをこれらのディレクトリの1つに移動します。次に、<>を使用してモジュールをインポートしてみてください。
以下のコードのコードを参照して、exeファイルのディレクトリにbass.dllを配置し、プロジェクトにファイル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;
}
、という名前のファイルがある場合configure
、Makefile
またはinstall
その順序で実行してみることができます。その後、このライブラリとリンクするプログラムは、次のようなコマンドを使用する必要があります。
c++ <your_program.cpp> -l<library_name> -L<path_where_library_is_installed>
ライブラリパスは通常、元のライブラリフォルダ自体です。ただし、明示的に変更するか、ライブラリ自体がファイルをグローバルな場所などに配置する場合を除きます/usr/local
。