首页 > 解决方案 > 找不到 GTest 但已获取 googletest

问题描述

googletest在我的项目中使用。为了添加它,我在我的 CMake 中使用了以下代码

include(FetchContent)

FetchContent_Declare(
  googletest
  GIT_REPOSITORY https://github.com/google/googletest.git
  GIT_TAG        release-1.8.0
)

FetchContent_GetProperties(googletest)
if(NOT googletest_POPULATED)
  FetchContent_Populate(googletest)
  add_subdirectory(${googletest_SOURCE_DIR} ${googletest_BINARY_DIR})
endif()

问题是每当我构建我的项目时,我都会收到以下错误

Could NOT find GTest (missing: GTEST_LIBRARY GTEST_MAIN_LIBRARY)

这是由其中一个测试中的这行代码引起的

find_package(GTest REQUIRED)

我不是测试的所有者,所以我无法更改此行。我也无法googletest在我们运行测试的机器上安装。唯一的选择是将其用作依赖项。我不确定如何解决这个问题。

根据对this page的阅读,我尝试更改模块路径

set(CMAKE_MODULE_PATH ${googletest_BINARY_DIR}/googletest/generated)

但它没有用。

有没有人遇到过这样的问题?你是怎么解决的?

标签: cmakegoogletest

解决方案


推荐阅读