是的,还有另一个LNK 2019问题,但我无法找到解决我的具体问题的方法。
希望你可以帮忙解决这个问题,因为它让我完全不知所措。这是我第一次使用多个项目和C ++单元测试。
背景:
当我构建项目时,我收到以下错误:
do_test.obj : error LNK2019: unresolved external symbol "int __cdecl dummy(void)" (?dummy@@YAHXZ) referenced in function "public: void __thiscall AddTask_noTasksExistAtAll_dataFileCreated::test_method(void)" (?test_method@AddTask_noTasksExistAtAll_dataFileCreated@@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.hpp"
与
#include "do_app.cpp"
然后问题消失,可执行文件按预期执行。
现在显然,构建do_test.exe的链接器无法看到do_app.obj文件。我的问题是为什么不呢?我想我已经为Project B正确设置了Project属性。
任何想法的家伙?
提前致谢
答案 0 :(得分:0)
行。如果这是一个答案或解决方法,请不要知道。
当单元测试可执行文件时,Boost方法本身会创建另一个可执行文件。因此,您在同一解决方案中有2个可执行文件,VS不喜欢。
main.cpp
。main.cpp
调用,而不是实际包含在其中。)