有一些问题,希望我能找到一些帮助。
我在Visual Studio 2012中的同一解决方案下有两个项目
我开始创建一个控制台应用程序,它以.exe格式输出,这是一个项目。
在另一个项目中,我设置了google test来对控制台应用程序项目中的类运行单元测试。
如果我能够将主项目编译成静态库,那么由于可以链接到.lib而不会出现问题,但这不是一个选项。
我发现链接到.obj但是我需要手动将每个链接输入到链接器中 - >输入,由于会有大量的课程,我可以看到这变得混乱。
如何解决此问题,有没有办法链接到同一文件夹中的所有.obj,或者是否有我缺少的选项?
答案 0 :(得分:21)
我的配置与你的完全相同,这就是我所做的:
我使用visual studio的LIB实用程序将所有.obj文件放入.lib库中,然后我可以将我的gtest项目链接到它。
发出命令
lib /NOLOGO /OUT:"$(TargetPath).lib" "$(ProjectDir)\$(Configuration)\*.obj"
进入主项目的“构建事件”/“构建后事件”,您可以将控制台应用程序保存为.exe,同时将所有obj文件聚合到最新的库中。
希望它有所帮助!
顺便说一下,这个问题有点类似于这篇文章:Linker error - linking two "application" type projects in order to use Google Test我认为在这里链接它可能很有用。