【解決方法】xa ライブラリにアクセスするにはどうすればよいですか?


OK、私はヘッダーと .cpp ファイルに慣れています。

.cc ファイルから xa ライブラリをビルドしました。

ばかげた質問

ヘッダー ファイルがない場合にライブラリにアクセス/参照するにはどうすればよいですか?

私が試したこと:

何を試せばいいのかわからない

解決策 1

ヘッダー ファイルなしでできることはあまりありませんが、既に 1 つ (または複数) 存在している可能性があります。 たとえば、.a ライブラリのソースには、ライブラリ自体が使用する .h ファイルが含まれている可能性があります。 それらを確認すると、おそらく次のように表示されます。

C++
class xClass {
   // xClass definition
public: 
   xClass(); // constructor
   ~xclass(); // destructor
   bool operator<(const xClass& other) const;
   // other member functions ...
};

したがって、これはのヘッダーになります xClass オブジェクト。
コンパイルにヘッダーを含めるには、次のようにします

バッシュ
g++ myprog.cc myhelper.cc -I /path_to/library_souce  -L /path_to/library_archive -lx -o myprog 

-I フラグは、ヘッダーを探すときに「/path_to/library_source」を検索パスに追加するようコンパイラーに指示します。 -L flag はコンパイラに通知します (実際には リンカ、しかしコンパイラはこの議論のために機能します)追加のライブラリを探す場所と -lx flag は、オブジェクト (つまり、コンパイルされたクラスと関数の定義) 参照を解決するために検索する追加のライブラリをコンパイラ (ここでもリンカー) に通知します。

これがあなたが作成した独自のライブラリであり、クラスまたは関数を分離していない場合 宣言 個別のヘッダー ファイルに分割されているため、今こそリファクタリングを行う良い機会です。 C++ 名前空間がどのように機能するかを確認する良い機会でもあります。

コメント

タイトルとURLをコピーしました