Visual Studio - 是否可以从测试项目链接到代码项目的目标文件?

Visual Studio - Is it possible to link from Test Project to the object files of Code Project?

提问人:Freeman 提问时间:8/20/2016 最后编辑:Freeman 更新时间:6/27/2022 访问量:283

问:

图:我目前的解决方案结构(语言是中文)

我在 TestProject 中添加了对 CodeProject 的引用,但当 CodeProject 生成静态库时,似乎我只能链接到 mymath.c 中的“square”函数。

通常,您将如何设置测试项目以链接到 CodeProject?当 CodeProject 为控制台项目(生成 exe,而不是静态库)时。或者你会把 mymath.c 添加为 TestProject 的源代码吗?

有什么首选方法吗?谢谢。

[我的代码项目是用C编写的,TestProject(以下代码)将在C++中使用gtest]

#include "stdafx.h"

extern "C" {
#include "mymath.h"
}

int _tmain(int argc, _TCHAR* argv[])
{
    printf("%d\n", square(6) );   // <-------
    return 0;
}

生成未解析的“square”外部符号错误

C++ C Visual-Studio-2010 测试 链接器错误

评论

0赞 Cheers and hth. - Alf 8/20/2016
您可以链接到静态库。不能链接到可执行文件。
0赞 Freeman 8/20/2016
我的意思是链接到 CodeProject 的对象,以便我可以测试它们。
0赞 Barmak Shemirani 8/20/2016
为什么不直接将文件拖放到TestProject中呢?无需复制 *.cpp 文件即可完成。
0赞 Freeman 8/20/2016
这和“添加现有项目”一样吗?是的,这是一种方式,但如果我可以只使用 CodeProject 现有的编译对象,那将非常方便,而无需因为依赖关系而拖动大量其他源。

答:

0赞 Hank_ 6/27/2022 #1

是的,您可以将主要项目的 .obj 文件链接到您的测试项目。additional dependencies

properties->VC++ Directories->lib directory:在此处添加您的项目 obj 的路径

properties->linker->input->additional dependencies:添加 obj 的文件名