Ite*_*tor 3 c++ visual-studio visual-c++ visual-studio-2019
我在 Visual Studio 2019 中创建了一个 C++ 项目。我向其中添加了两个文件:MyClass.hpp和MyClass.cpp. 然后我创建了一个测试项目并添加了原始项目作为参考。
如果我双击测试项目中的引用,我可以看到MyClass. 但如果我尝试运行测试,我会收到此错误:
MyTest.obj : error LNK2019: unresolved external symbol "public: struct MyRef __thiscall MyClass::SetData(struct Data)" (?SetData@MyClass@@QAE?AUMyRef@@UData@@@Z) referenced in function "private: virtual void __thiscall MyTest_SetData_Test::TestBody(void)" (?TestBody@MyTest_SetData_Test@@EAEXXZ)
Run Code Online (Sandbox Code Playgroud)
我有什么错吗?为什么MyClass.cpp即使在引用的项目中也没有编译?我可以毫无错误地构建原始项目。当我尝试构建测试项目时,我只收到链接错误。
我遇到了有关未解决的外部符号错误的问题,但它没有解决我的问题。这是 Visual Studio 特定的问题。
如果我MyClass.cpp手动添加到测试项目中,那么它就可以工作。但我不想对每个文件都这样做,因为我的项目可能有更多的cpp源文件,而不仅仅是这个。我想使用“参考”功能使其工作。
当我创建测试项目时,我选择了原始项目作为参考。
将项目 B 添加到项目 A 作为引用基本上只是确保每当编译项目 A 时都会编译项目 B。
\n\n您需要额外的设置:
\n\n在编译项目 B 时,您需要将生成的二进制文件和标头安装到这些路径。为此,您可以执行构建后步骤来复制必要的文件: Properties \xc2\xbb Build Events \xc2\xbb Post-Build Event
\n\n或者仅使用项目 B 的构建文件夹和源位置。
在项目A中:
\n\n| 归档时间: |
|
| 查看次数: |
3085 次 |
| 最近记录: |