CMAKE_PREFIX_PATH是一个CMake变量,用于指定find_package在Config模式下查找包的根目录。在调用find_package之前设置该变量,可以影响CMake的搜索路径。 cmake set(CMAKE_PREFIX_PATH "/path/to/your/prefix") find_package(YourPackageName REQUIRED) c. 使用find_package的PATHS选项 在调用find_package时,可以直...
find_package(GFlags REQUIRED) 这个时候可以通过PATHS指定某个目录去寻找,避免多个版本链接出错。 find_package(GFlags PATHS /workspace/xxx/gflags-2.2.2/out/lib/cmake/gflags REQUIRED NO_DEFAULT_PATH) 如果安装的第三方库使用源码编译安装,并且作者没有编写.cmake文件供find_package使用。这时可以使用file GLOB去...
让find_package在指定路径找依赖包,有三种方式 # 1. 设置DIRset(Torch_DIR /home/libtorch) find_package(Torch REQUIRED)# 2. 设置PATHSfind_package(Protobuf REQUIRED PATHS /home/libtorch NO_DEFAULT_PATH)# 3. 指定set(CMAKE_PREFIX_PATH /home/libtorch) 【参考文章】...
或者通过设定CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY为true。 从PATHS字段指定的路径中查找。 2.3 总结 find_package命令的查找流程图为: 3 示例 3.1 cmake预支持的包 以boost库为例 find_package(Boost REQUIRED) if(Boost_FOUND) message("Boost Package found") endif() 1. 2. 3. 4. 3.2 非官方...
find_package(<Package> [version]) CMAKE_PREFIX_PATH CMAKE_PREFIX_PATH是一个分号分割的路径列表,用来指明可执行文件or库安装路径前缀。 以供find_package、find_program、find_library、find_file、find_path命令搜索使用,方便搜索可执行文件、头文件、库文件及相关配置文件。
find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。 设置可执行文件的链接库和头文件目录,编译文件。 到现在为止出现了第一个问题。那就是: find_package会在哪些目录下面寻找OpenCV的配置文件?
find_package(mymath CONFIG REQUIRED COMPONENTS test PATHS ./mymath/mymath ) if(mymath_FOUND) message("Find mymath: ${mymath_INCLUDE_DIR}; ${mymath_LIBRARY};") endif() # 执行cmake . cmake . # 输出为 test Find comp test Find mymath: /XXX/mymath; /XXX/mymath/libmymath.a; ...
2. 自己的库如何能被find_pakcage(xxx) cmake有两种方式让find_package(xxx)能找到库,如果没有找到会报错,如下: find_package(OpenCV)出现错误如下: CMake Warning at CMakeLists.txt:37 (find_package): By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has ...
在cmake某个程序的时候,经常会提示找不到某个所依赖的库,那么这是时候我们就需要检查我们引入依赖库的路径对不对了, Cmake中一个自动寻找函数find_package()可以帮我们实现这个功能。 实践 例子:Boost 实例 cmake_minimum_required(VERSION 3.5) # Set the project name ...
find_package(mymath CONFIG REQUIRED COMPONENTStest PATHS ./mymath/mymath ) if(mymath_FOUND) message("Find mymath:${mymath_INCLUDE_DIR};${mymath_LIBRARY};") endif() # 执行cmake . cmake . # 输出为 test Find comptest Find mymath: /XXX/mymath; /XXX/mymath/libmymath.a; ...