【问题标题】:Should I be including header files or source files for Google Test?我应该包含谷歌测试的头文件或源文件吗?
【发布时间】:2020-08-06 14:05:28
【问题描述】:

我正在学习如何在我的一个项目中使用 Google 测试。当我包含一个头文件时,我得到一个LNK2019 unresolved external symbol... 错误,但是当我包含源文件时,它编译成功并且测试运行。我在设置测试项目时是否犯了错误(我使用的是 Visual Studio 2019)。

编辑:抱歉有任何混淆,我是否应该将 Google Test 项目作为库并在我的实际项目中编写我的测试,包括 gtest 标头?现在,我在 Google Test 项目中进行了测试,其中包含一个运行测试的 main 函数。

我目前的解决方案是这样的:

sln
    project
       src
    googleTest project
       tests

应该是这样的:

sln
    project
        src
        tests
    googleTest project (as library)

【问题讨论】:

  • 永远不要包含源文件。您应该将这些库链接到您的项目。
  • 始终包含您询问的整个错误。否则我们只能猜测。
  • 也许您没有使用 CMake 为 google 测试框架生成 Visual Studio 项目,以便您可以为测试框架编译二进制文件。
  • 您包括标题和库链接。
  • 应该是这样的我觉得这更多的是个人喜好。

标签: c++ visual-studio googletest


【解决方案1】:

您可能尚未将您的测试链接到 google 测试库。确实检查项目设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多