0

私のプログラムが 1 つのクラスを使用できるようにするライブラリを作成したいのですが、それを A と呼びましょう。これにはいくつかのきちんとしたメソッドなどがあります...ただし、このクラスは他のいくつかのクラス (B と C) に依存しており、含まれていますその.hppファイル内の.cppファイル。

ビルド プロセスは次のようになります。

g++ -c B.cpp
g++ -c C.cpp
g++ -c A.cpp

ar rvs A.a *.o

これにより、他のプロジェクトでは、A クラスA.hppA.a. 静的ライブラリを正しく作成していますか? Ao だけをアーカイブ (ライブラリ) に入れる必要がありますか (そうするとエラーが発生します)。

参考までに、これは A クラスを使用するプログラムのコンパイル方法です。

g++ test1.cpp A.a -o test1

編集:私のプログラムをAaにリンクするようにリンカに暗黙的に指示する方法はありますか? 手動でiostreamとリンクする必要がないのと同じように...

4

1 に答える 1

2

今のやり方でいいです。すべてのオブジェクト ファイルをスタティック ライブラリに配置します。

于 2012-09-18T22:21:33.640 に答える