1

オブジェクト (.o) ファイルを含むライブラリ プロジェクトがあります。ファイルがビルドに含まれていることを確認するために、次のビルド後のコマンドがあります。

ar -r libProject.a AdHocObject.o

ただし、これは、デバッグとリリースで AdHocObject.o ファイルを手動でコピーする必要があり、プロジェクトをクリーンアップできないか、最初からやり直してデバッグとリリースで AdHocObject.o をコピーする必要があることを意味します。

これは、ライブラリを (インクルードとして) 使用して再構築する 2 つ目のプロジェクトがあり、AdHocObject.o が最初に消去されていることを確認すると、さらに面倒になります。

私はここで少し迷っています。いろいろな方法があると思いますが、見つけられません。私はできた:

  • 2 番目のプロジェクトでライブラリを再構築しないようにしますが、方法がわかりません。
  • ライブラリが AdHocObject.o をデバッグとリリースに保持するようにしますが、方法がわかりません。
  • ビルド前のコマンドを追加して、AdHocObject.o を出力フォルダー (Debug または Release) にコピーしますが、ご想像のとおりです。

これらのアクションのいずれかが可能ですか?複数の場合、推奨されるアプローチは何ですか?

4

2 に答える 2

1

ここに画像の説明を入力うーん、どうしても聞きたいのですが、ファイルをコピーする方法は次のとおりです。プロジェクトを右クリックし、[プロパティ] を選択します。[C/C++ ビルド] セクションに移動し、その下で [設定] を選択します。次に、右側のパネルで Build Steps タブをクリックします。pre-build Command: ボックスで、次のようなコピー コマンドを発行します (または、相対パスと環境変数を使用して from と to を指定することもできます)。

cp "C:\SourceDir\AdHocObject.o" "C:\DestDir\AdHocObject.o"
于 2012-03-30T04:37:22.143 に答える
0

わかりました。正しい場所を指し、ソースを含む o ファイルを配置し、ビルド後のコマンドを次のように調整する必要がありました。

ar -r libProject.a ..\AdHocObject.o
于 2012-03-30T04:40:54.813 に答える