状況は次のとおりです。
MyDll(DLL)、MyDllUnitTest(コンソールEXE)の2つのプロジェクトを持つ1つのVS2005ソリューションがあります。
MyDllには、DLLの内部にあり、エクスポートされるべきではないMyClassというクラスがあります。MyDllUnitTestでテストしたいので、MyClassTestというテストスイートクラスを追加しました。ここで、MyClassのインスタンスを作成してテストします。
私の質問:MyDllをビルドして作成したMyClassのオブジェクトファイルをMyDllUnitTest EXEにリンクするにはどうすればよいですか?MyDllUnitTestでMyClassをビルドしたくないし、クラスをエクスポートしたくない。
両方のプロジェクトに同じ中間ディレクトリを使用して(オブジェクトファイルが同じディレクトリにあるように)、VS2005の参照機能を使用してみました([プロジェクト]->[参照]->[新しい参照の追加...])。 t work-まだリンクエラーが発生します(LNK2001)。
編集: 2つのプロジェクトで同じソースファイルを使用したくない-MyClass / MyClassTestが多数あるという顔を考えてみてください。つまり、各MyClassを別のプロジェクトに複製する必要があります。2つのプロジェクトで同じオブジェクトファイルを使用できることはわかっています。以前に使用したことがありますが、その方法を忘れてしまいました。
編集:両方のプロジェクトにファイルを配置することにしたので、2回コンパイルされます。「参照」機能は自動的に機能することがわかりましたが、静的ライブラリプロジェクトの場合のみです。