web-dev-qa-db-ja.com

c ++ライブラリをインストールして使用するにはどうすればよいですか?

このライブラリは [〜#〜] bass [〜#〜] と呼ばれ、マイクで録音するために使用するオーディオライブラリです。使用に必要なファイルはすべて揃っていますが、ライブラリのインストール方法がわかりません。サンプルファイルを取得して、bass.hファイルと同じディレクトリに配置してみました。しかし、存在しない関数呼び出しがあるというエラーがたくさん出ました。

だから私の質問は、それを使用できるようにインストールするにはどうすればよいですか?

24
rzetterberg

C++ライブラリのインストールとは、関連するソフトウェア(コンパイラなど)に、ヘッダー(通常の拡張子は* .hまたは。hpp)とコンパイル済みオブジェクト(。dllまたは*)の2種類のファイルの場所を指定することを意味します。 libなど)。

ヘッダーには、ライブラリの作成者によって開発者に公開された宣言が含まれ、プログラムにはそれらのソースコードに#includeが含まれ、dllには、一緒に、またはリンクされてプログラムによって使用されるコンパイル済みコードが含まれます。リンカーによって検出されます(または動的にロードされますが、これは別のステップです)。

だからあなたはする必要があります

  1. コンパイラーが認識している場所にヘッダーファイルを配置します(通常IDEでは、いわゆるインクルードディレクトリを設定できます。それ以外の場合は、コンパイラーを呼び出すときに「-I」のようなフラグを指定します)
  2. リンカーが認識している場所にDLLファイルを配置します(確かにIDEでそれが可能になります。それ以外の場合は、「-L -l」のようなフラグを指定します。

最後に大事なことを言いますが、BASSライブラリーは商用製品であることを知っているので、おそらくインストール手順を提供しているのでしょうか?

19
Francesco

コードの下のコードを参照し、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;
}
4
Nasser

configureMakefile、またはinstallという名前のファイルがある場合は、その順序で実行してみてください。その後、このライブラリとリンクするプログラムは、次のようなコマンドを使用する必要があります。

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

ライブラリパスは、明示的に変更したり、ライブラリ自体が/usr/localなどのグローバルな場所にファイルを配置したりしない限り、通常は元のライブラリフォルダー自体です。

1
Arjun Singri

端末またはコンソールでこのコマンドを実行します。

cpp -v

出力の最後に、次のような行が表示されることに注意してください。

#include<...> search starts here:

その行の下にディレクトリのリストがあります。パッケージフォルダをこれらのディレクトリのいずれかに移動します。次に、<>を使用してモジュールをインポートしてみます。

0
Alex Payne