【问题标题】:Linking to multiple .obj for unit testing a console application链接到多个 .obj 以对控制台应用程序进行单元测试
【发布时间】:2013-10-21 13:45:56
【问题描述】:

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

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

一些背景知识,我创建了一个控制台应用程序,该应用程序输出为 .exe,这是在一个项目中。

在另一个项目中,我设置了谷歌测试,以便对控制台应用程序项目中的类运行单元测试。

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

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

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

【问题讨论】:

    标签: c++ linker googletest


    【解决方案1】:

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

    我使用了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,我认为在这里链接它会很有用。

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 2012-03-21
      相关资源
      最近更新 更多