【问题标题】:cmake can't find gtest 1.8 in ubuntu 18.10cmake 在 ubuntu 18.10 中找不到 gtest 1.8
【发布时间】:2019-01-19 23:27:19
【问题描述】:

我正在尝试在我以前在 Mac 上运行良好的项目上运行 cmake。

在我的 CMakeLists.txt 中有:

find_package(gtest REQUIRED CONFIG)

当我运行 cmake 时,我看到:

CMake Error at CMakeLists.txt:123 (find_package):
  Could not find a package configuration file provided by "gtest" with any of
  the following names:

    gtestConfig.cmake
    gtest-config.cmake

  Add the installation prefix of "gtest" to CMAKE_PREFIX_PATH or set
  "gtest_DIR" to a directory containing one of the above files.  If "gtest"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!

我已经在/usr/include/gtest 中构建了源代码并将它们安装到/usr/lib/

【问题讨论】:

  • 定位GTest的脚本名为FindGTest.cmake,所以你需要搜索包“GTest”,而不是“gtest”。
  • 谢谢,成功了!
  • @Tsyvarev 也许输入一个答案,所以我可以接受?

标签: ubuntu cmake googletest


【解决方案1】:

调用find_package时,包名区分大小写。包的正确名称,对应GTest,是“GTest”。


大小写不正确的包名称有时可能会起作用(例如,使用 不区分大小写 文件系统,或者如果包由 <lower-case-name>-config.cmake 文件描述)。但最好不要依赖这些功能,并使用其文档中注明的包名称。

【讨论】:

  • @KansaiRobot:“不起作用”是什么意思?即使使用正确的find_package(GTest REQUIRED),您仍然会收到错误消息“找不到包配置文件...”?还是什么?
  • 我在 find_package 中将 gtest 更改为 GTest。我仍然收到原始问题中的错误。
  • 所以在那个确切的情况中,错误消息以单词Could not find a package configuration file provided by "GTest"开头,不是吗?您使用哪个 CMake 版本?
  • 是的。我正在使用 3.16.3
  • 奇怪,CMake 3.16.3 附带了脚本FindGTest.cmake,所以这个脚本应该可以通过find_package(GTest) 调用找到。您能否准备好自己的问题帖子,并附上您收到的确切错误消息和其他信息?
猜你喜欢
  • 2020-11-10
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 2019-01-12
  • 1970-01-01
  • 2021-08-08
  • 2016-11-04
  • 1970-01-01
相关资源
最近更新 更多