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

C++ 链接到多个.obj以对控制台应用程序进行单元测试,c++,linker,googletest,C++,Linker,Googletest,有一些问题,希望我能找到一些帮助 在Visual Studio 2012中,我有两个项目在同一个解决方案下 在一个项目中,我创建了一个控制台应用程序,它以.exe格式输出 在另一个项目中,我设置了GoogleTest来对console应用程序项目中的类运行单元测试 如果我能够将主项目编译成一个静态库,就不会有问题,因为我可以链接到.lib,但是这不是一个选项 我发现链接到.obj是可行的,但是我需要手动将每个链接输入到linker->input中,由于将有大量的类,我可以看到这变得很混乱 如何解

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

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

在一个项目中,我创建了一个控制台应用程序,它以.exe格式输出

在另一个项目中,我设置了GoogleTest来对console应用程序项目中的类运行单元测试

如果我能够将主项目编译成一个静态库,就不会有问题,因为我可以链接到.lib,但是这不是一个选项

我发现链接到.obj是可行的,但是我需要手动将每个链接输入到linker->input中,由于将有大量的类,我可以看到这变得很混乱


如何解决此问题,是否有方法链接到同一文件夹中的所有.obj,或者是否缺少一个选项?

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

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

下达命令

lib /NOLOGO /OUT:"$(TargetPath).lib" "$(ProjectDir)\$(Configuration)\*.obj"
在主项目的“生成事件”/“生成后事件”中,您可以将控制台应用程序保留为.exe,同时将所有obj文件聚合为最新的库

希望有帮助

顺便说一句,这个问题有点类似于这篇文章:我认为把它链接到这里是有用的