【发布时间】:2022-01-01 08:20:58
【问题描述】:
我正在尝试使用 cmake 生成带有 gtest 的 Visual Studio 项目,并带有以下 cmake 文件..
cmake_minimum_required(VERSION 3.13)
set(CMAKE_CXX_STANDARD 11)
find_package(GTest REQUIRED)
message("GTest_INCLUDE_DIRS = ${GTest_INCLUDE_DIRS}")
add_library(commonLibrary LibraryCode.cpp)
add_executable(mainApp main.cpp)
target_link_libraries(mainApp commonLibrary)
add_executable(unitTestRunner testRunner.cpp)
target_link_libraries(unitTestRunner commonLibrary ${GTEST_LIBRARIES} pthread)
我在这个特定路径下载并编译了 gTest; C:\Users[MyUserName]\Documents\Libraries\gTest
但是,当我尝试在 cmake 文件上调用 cmake.. 时,我遇到了以下错误
Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR
GTEST_MAIN_LIBRARY)
我需要做什么才能让 cmake 找到这些路径?
【问题讨论】:
-
FWIW,gtest 是一个很好的选择,只使用
FetchContent()而不是与安装路径搏斗。它甚至是文档中使用的示例。 -
“我在 ... 下载并编译了 gTest” - 您在构建后是否安装 GTest?有关自定义安装的提示 CMake,您可以设置
GTEST_ROOT变量(如 documentation 中所述)或CMAKE_PREFIX_PATH变量,如 that my answer 中所述。
标签: c++ cmake googletest