链接到多个.obj以进行单元测试控制台应用程序

Chr*_*rew 8 c++ linker googletest

有一些问题,希望我能找到一些帮助.

我在Visual Studio 2012中的同一解决方案下有两个项目

一点背景我凸轮创建一个控制器应用程序,输出为.exe这是在一个项目中.

在另一个项目中,我设置了google test来对控制台应用程序项目中的类运行单元测试.

如果我能够将主项目编译到静态库中,那么由于可以链接到.lib而没有问题,但是这不是一个选项.

我发现链接到.obj然后我需要手动输入每个链接器 - >输入,因为会有大量的类,我可以看到这变得混乱.

我如何解决这个问题,有没有办法链接到同一个文件夹中的所有.obj,还是有一个我缺少的选项?

tou*_*ssa 23

我有与你的配置完全相同的配置,这就是我所做的:

我使用visual studio的LIB实用程序将所有.obj文件放入.lib库中,然后我可以将我的gtest项目链接到它.

发出命令

lib /NOLOGO /OUT:"$(TargetPath).lib" "$(ProjectDir)\$(Configuration)\*.obj"
Run Code Online (Sandbox Code Playgroud)

在主项目的"构建事件"/"构建后事件"中,您可以将控制台应用程序保存为.exe,同时将所有obj文件聚合到最新的lib中.

希望能帮助到你!

顺便说一句,这个问题有点类似于这篇文章:链接器错误 - 链接两个"应用程序"类型的项目,以便使用谷歌测试,我认为这里链接它可能是有用的.