链接到多个 .obj 以对控制台应用程序进行单元测试
Linking to multiple .obj for unit testing a console application
有一些问题,希望我能找到一些帮助。
我在Visual Studio 2012中的同一解决方案下有两个项目
我正在创建一个控制台应用程序的一些背景知识,该应用程序输出为.exe这是在一个项目中。
在另一个项目中,我设置了谷歌测试以对控制台应用程序项目中的类运行单元测试。
如果我能够将主项目编译为静态库,则不会因为可以链接到 .lib 而出现问题,但这不是一个选项。
我发现链接到 .obj 有效,但我需要手动将每个输入到链接器 -> 输入中,并且由于会有大量的类,我可以看到这变得混乱。
如何解决此问题,有没有办法链接到同一文件夹中的所有.obj,或者我缺少一个选项?
我的配置与您的配置完全相同,这就是我所做的:
我使用Visual Studio的LIB实用程序将所有.obj文件放入.lib库中,然后我可以将我的gtest项目链接到它。
放置命令
lib /NOLOGO /OUT:"$(TargetPath).lib" "$(ProjectDir)$(Configuration)*.obj"
在主项目的"构建事件"/"构建后事件"中,您可以将控制台应用程序保留为.exe,同时将所有 obj 文件聚合到最新的库中。
希望对您有所帮助!
顺便说一句,这个问题有点类似于这篇文章:链接器错误 - 链接两个"应用程序"类型的项目以使用 Google Test,我认为在这里链接它可能是有用的。
相关文章:
- C++控制台应用程序阻止退出
- 如何从 Win32 C++ 应用程序输出到父控制台窗口?
- 如何在 Win32 C++控制台应用程序中调用 UWP 类库
- 是否可以从控制台应用程序使用 C++/WinRT 创建窗口?
- 如何创建一个使用开源c项目的c++控制台应用程序
- c ++控制台应用程序,如何在控制台外部打印字符
- 像 CPP 中的控制台一样的应用程序
- 调试控制台 ChessEngine.exe "used"在另一个应用程序(国际象棋 GUI)中
- 将控制台应用程序直接输出到Visual Studio而不是外部Windows控制台中
- 如何在 Win32 控制台应用程序中注册不可见的窗口类?
- 如何将从控制台应用程序C++回调设置为C++ COM DLL
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 直接输入控制台应用程序
- C++调试控制台应用程序
- C++控制台应用程序调用C++/CLI静态库
- 如何在控制台应用程序中添加滚动功能以显示更大的输入
- C++应用程序控制台未退出
- 如何使用VSCode调试C++应用程序控制台应用程序
- 用于调试消息的跨平台GUI应用程序控制台
- 自定义应用程序控制台和stderr