0

ブースト単体テストを追加してセットアップしたソリューションがあります。問題は、テストしたい別のプロジェクトがあり、その中にいくつかのクラスがあることです。実際、そのプロジェクトがブーストを追加した主な理由です。

テストが必要なプロジェクトは、.dll として出力するように設定されています。問題は、私のテスト プロジェクトが他のプロジェクトのコードにアクセスする必要があるときはいつでも、ヘッダーに問題なくアクセスできることです。ただし、オブジェクトを含むプロジェクトの .cpp ファイルで解決される未解決のコードがヘッダーに含まれている場合は、リンク エラーが発生します。これを回避する方法はありますか?理想的には、オブジェクトを他の dll に保持してから、テスト プロジェクトでテストしたいと考えています。

4

2 に答える 2

0

問題は、Visual Studio コンパイラが他のファイルの CPP にリンクできなかったことです。既存のファイル オプションを使用して、ブースト プロジェクトにも CPP ファイルを追加する必要がありました。

于 2012-09-23T03:26:38.987 に答える
0

おそらく、シンボルの場所をテスト プロジェクトに伝えていないでしょう。実稼働コードの .lib に対して手動でリンクするか、プロジェクトを参照として追加すると、VS がプロジェクトを自動的にリンクします。

プロジェクトのプロパティに移動し、[共通プロパティ] で [フレームワークと参照] を選択します。[新しい参照を追加...] ボタンをクリックし、他のプロジェクトを選択します。これは .dll であるため、Link Library Dependencies を False に設定する必要があります (ダイアログを保存して再度開くと、その設定はバグがあるようです)。

于 2012-09-21T19:33:47.420 に答える