はい、さらに別のLNK 2019質問ですが、私の特定の問題の解決策を見つけることができませんでした。複数のプロジェクトを持つVS2008ソリューションでLNK2019を解決するにはどうすればよいですか?
あなたは私に完全に私を幻滅させるので、これで助けてくれることを願っています。これは、複数のプロジェクトとC++単体テストでの最初の仕事です。
背景:
- Win32コンソールアプリケーション
- プロジェクトA - メインアプリケーション(main.cppに、do_app.cpp、do_app.hpp)
- プロジェクトB - プロジェクトAの昇圧ユニットテスト(do_test .cpp)
- プロジェクトBは、プロジェクト依存関係のプロジェクトAに依存します。
- プロジェクトAは、ビルドシーケンスの最初にコンパイルされます。
- プロジェクトBには、プロジェクトAの追加インクルード依存関係のファイルが含まれています。
- do_test.cppにはdo_app.hppが含まれています。私はプロジェクトをビルドするとき
、私は次のエラーを取得する:
do_test.obj : error LNK2019: unresolved external symbol "int __cdecl dummy(void)" ([email protected]@YAHXZ) referenced in function "public: void __thiscall AddTask_noTasksExistAtAll_dataFileCreated::test_method(void)" ([email protected][email protected]@QAEXXZ)
2>D:\Documents\Trader Rick\Projects\do\Debug\do_test.exe : fatal error LNK1120: 1 unresolved externals
int dummy()
は機能do_app.hppでプロトタイプとdo_app.cppで定義されています。これはdo_test.cppによって呼び出されます。
私は
#include "do_app.cpp"
で
#include "do_app.hpp"
を交換する場合、問題が消えて、期待通り実行ファイルが実行されます。
do_test.exeをビルドしているリンカはdo_app.objファイルを見ることができません。私の質問はなぜではないのですか?私はプロジェクトBのプロジェクトプロパティを正しく設定したと思います。
アイデアみんな?
ありがとうございました。