pkg_check_modules是 CMake 封装的一个pkg-config 模块,pkg_check_modules检测系统中的 pkg-config 是否存在指定的 .pc 文件。根据PKG_CONFIG_PATH路径找到库文件地址后,就定义了<prefix>_INCLUDE_DIRS和其他的这类变量,后续的用法就与find_package一致。find方法如下: find_package(PkgConfig) pkg_check_modules(...
include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(my_bin, ${OpenCV_LIBS}) 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。 设置可执行文件的链接库和头文件目录,编译文件。
重点看下其中 OpenCV_DIR、OpenCV_INCLUDE_DIRS 和 OpenCV_LIBS 打印的结果,这是我在 CMakeLists.txt 中用 message 命令输出这三个变量的值的结果。 可以看到在执行 find_package(OpenCV 3 REQUIRED) 命令后,CMake 找到了我们安装的位于 /usr/local 下的 OpenCV 库,并设置了 CMake 变量 OpenCV_DIR 为 OpenCV...
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}中,将链接库设置...
include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(my_bin, ${OpenCV_LIBS}) 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。
<NAME>_FOUND # 布尔量<NAME>_INCLUDE_DIRS or<NAME>_INCLUDES<NAME>_LIBRARIES or<NAME>_LIBRARIES or<NAME>_LIBS<NAME>_DEFINITIONS 我们可以在 CMakeList 中用下面代码检验find_package的结果: 1 2 3 4 5 6 7 8 9 10 11 find_package(but_velodyne REQUIRED)if(but_velodyne_FOUND)MESSAGE(STATUS"def...
- package_name_INCLUDE_DIRS:包含所找到包的头文件目录的列表。 - package_name_LIBRARIES:包含所找到包的库文件的列表。 为了使用找到的库,我们需要使用include_directories命令来添加找到包的包含目录,并使用target_link_libraries命令将找到的库链接到我们的目标可执行文件或库中。 # 3.使用find_package的最佳实践...
Config模式:搜索XXX_DIR指定路径下的XXXConfig.cmake文件,执行该文件从而找到XXX库。其中具体查找库并给XXX_INCLUDE_DIRS和XXX_LIBRARIES两个变量赋值的操作由XXXConfig.cmake模块完成。 cmake默认采取Module模式,如果Module模式未找到库,才会采取Config模式。如果XXX_DIR路径下找不到XXXConfig.cmake文件,则会找/usr/lo...
include_directories( ${OpenCV_INCLUDE_DIRS} )//OpenCV_INCLUDE_DIRS是关于find_package的变量, //包含了一个路径,这样可以在代码中的#include做根目录 include_directories(/usr/local/include)//同上,找根目录 add_executable( imageBasics test_transform2.cpp )//添加对主函数的可执行文件 ...
<PackageName>_FOUND:如果找到了包,则设置为 TRUE;否则,设置为 FALSE。 <PackageName>_INCLUDE_DIRS:包含头文件路径的变量。 <PackageName>_LIBRARIES 或<PackageName>_LIBRARY:包含库文件路径的变量。 <PackageName>_VERSION:包含找到的库版本的变量(如果有)。在...