CMake找不到包含/库
我想在使用CMake的项目中使用一些第三方标题(或库)。但它找不到标题(库)。为什么CMake找不到它?CMake的查找例程在某些特定位置查找头和库。这包括CMake找不到包含/库,cmake,Cmake,我想在使用CMake的项目中使用一些第三方标题(或库)。但它找不到标题(库)。为什么CMake找不到它?CMake的查找例程在某些特定位置查找头和库。这包括路径变量和已安装软件的默认位置,例如,对于许多产品/usr/bin。此外,它还计算CMake变量CMake\u PREFIX\u PATH 您有两种可能帮助CMake查找所需文件: 检查您的软件是否正确安装。对于自编软件,通常由makeinstall或类似程序完成。如果您使用软件包(RPM或deb),则通常会安装这些软件包,并且可以通过PAT
路径
变量和已安装软件的默认位置,例如,对于许多产品/usr/bin
。此外,它还计算CMake变量CMake\u PREFIX\u PATH
您有两种可能帮助CMake查找所需文件:
makeinstall
或类似程序完成。如果您使用软件包(RPM或deb),则通常会安装这些软件包,并且可以通过PATH
变量找到它们CMAKE\u PREFIX\u path
变量中。将其传递给CMake调用CMake-DCMAKE_PREFIX_PATH=/PATH/to/software..
或在CMake GUI中编辑/添加相应字段cmakache.txt
,否则CMake将找不到库,因为它不检查,而是使用缓存的结果。重新运行CMake,它应该可以工作
评估顺序
如果系统上有多个版本的库,请将要使用的版本添加到CMAKE_PREFIX_PATH
,因为变量在系统路径变量之前进行计算
模块特定变量
一些模块提供特定变量,如mylib_DIR
或mylib_ROOT
,以指示搜索路径。不鼓励使用它,它们仅用于向后兼容。新模块没有这些模块,添加这些变量的提交被CMake开发人员拒绝
文档
有关CMake如何搜索文件以及顺序的更多详细信息,请参见文档: