为find_package指定搜索路径,可以使用PATHS、HINTS、CMAKE_FIND_ROOT_PATH等选项。以下是一些常用方法: PATHS:直接指定一个或多个路径,CMake将在这些路径中查找包。 HINTS:提供查找包的提示路径,CMake会在这些路径及其子目录中查找。 CMAKE_FIND_ROOT_PATH:设置一个或多个根路径,CMake会在这些根路径及其子目录中...
让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) 【参考文章】...
add_executable(my_bin src/my_bin.cpp)find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS})target_link_libraries(my_bin, ${OpenCV_LIBS}) 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置...
如果在CMakeLists中没有下面的指令,那么cmake就不会搜索xxx_DIR指定的路径.而是到/usr/local/lib/cmake/xxx/中搜索,比如/usr/local/lib/cmake/yaml-cpp/yaml-cpp-config.cmake,如果还没有就失败了。 find_package(OpenCV REQUIRED PATHS /usr/local/share/OpenCV NO_DEFAULT_PATH) c. pkg_check_module 编...
NO_DEFAULT_PATH:可选参数,用于禁用find_package命令的默认路径搜索。默认情况下,find_package命令会在一些预定义的路径中搜索库或框架。如果指定了该参数,find_package命令将只使用CMAKE_PREFIX_PATH和CMAKE_FRAMEWORK_PATH中指定的路径进行搜索。 find_package(MyLib NO_DEFAULT_PATH) 上述代码表示禁用find_package命...
在CMake 中设置find_package的路径有两种常见方法: 使用CMake 自带的CMAKE_PREFIX_PATH变量,该变量用于指定查找包的路径。你可以在项目的 CMakeLists.txt 文件中添加如下代码来设置路径: set(CMAKE_PREFIX_PATH"/path/to/package") 这里的 “/path/to/package” 是你想要查找包的路径。
在该模式下,Cmake会搜索一个名为Find<PackageName>.cmake的文件,其中<PackageName>为待搜索包的名称。 搜索路径的顺序依次是: 从变量CMAKE_MODULE_PATH指定的路径中进行查找 从Cmake安装路径中查找。Cmake会在其安装路径下提供很多.cmake文件,例如/XXX/cmake/Modules/目录下(不同的系统安装目录可能不一...
另外一个比较重要的是<package>_DIR。我们可以在调用cmake时将这个目录传给cmake。由于其优先级最高,因此cmake会优先从该目录中寻找,这样我们就可以随心所欲的配置cmake使其找到我们希望它要找到的包。而且除上述指定路径外,cmake还会直接进入<package>_DIR下寻找。如我在3rd_parties目录下编译了一个OpenCV,那么执...
1、指定 package 搜索辅助文件路径 list(APPEND CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_LIST_DIR}/cmake") 1. 或 set(Caffe_DIR /home/hzh/projects/Caffe/build) #添加CaffeConfig.cmake的搜索路径 1. 2、使用 find_package ...