0
是的,又一個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文件。我的問題是爲什麼不呢?我想我已經爲Project B設置了正確的項目屬性。
任何想法傢伙?
在此先感謝