【问题标题】:Best way to add gtest to Visual Studio solution without NuGet在没有 NuGet 的情况下将 gtest 添加到 Visual Studio 解决方案的最佳方法
【发布时间】:2021-02-14 21:18:16
【问题描述】:

我有一个包含 Visual Studio 解决方案的 GIT 存储库。 我需要为代码添加一些测试,并想使用 Gtest。 现在,当我将 gtest 项目添加到解决方案时,会在解决方案目录中添加一个 gtest 的 NuGet 包。有很多文件我不想保留在存储库中...

我是否可以将 gtest 项目添加到解决方案,而不必将包保存在存储库中,而是直接链接到 Visual Studio 扩展? 还是我必须自己单独编译 gtest 并手动链接到它?

【问题讨论】:

  • @WhozCraig 实际上可能是,没有想过......但是其他拉回购的人不会因为包丢失而出现链接错误吗?
  • 嗨弗拉德,关于这个问题的任何更新?请检查我的回答是否能帮助您处理和理解这个问题。如果有帮助,请不要忘记accept it。如果没有,请随时告诉我们:)

标签: c++ visual-studio nuget nuget-package googletest


【解决方案1】:

如果不使用 nuget 包,您将无法创建 GTest C++ 项目。这是系统默认项目模板,推荐使用Microsoft.googletest.v140.windesktop.msvcstl.static.rt-dynnuget包。

它是由微软设计的,我们不能在不使用 nuget 包的情况下更改项目。而且没有我们可以链接到的此类扩展。

其实,使用 googletest nuget 包非常灵活和轻量级,它可以帮助我们完成其他复杂的工作。它引用解决方案文件夹下的 nuget 包。所以我们不必担心丢失包裹。

当你从 git 仓库获取项目到 VS IDE 中时,当你启用这两个选项时,VS 会在你构建项目时自动恢复 nuget 包。

另外,在nuget包中有一个名为<packages_id>.props的文件,可以在构建时自动将google test nuget包的lib和cpp文件导入Additional DependenciesInclude Directories该项目。 所以这也是使用 Nuget 的一个优势,您不必手动导入库。

至于你所说的特定扩展的链接,目前没有这样的功能可以帮助你创建这样的项目。或者您可以从github website 下载google 测试源代码(开源)。然后让你的纯 c++ 项目(没有 google test nuget 包)引用 google test 项目。这样,你可以得到你最想要的,但它太大太复杂了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 2013-02-21
    • 1970-01-01
    相关资源
    最近更新 更多