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设置了正确的项目属性。
任何想法家伙?
在此先感谢