首先,在CMakeLists.txt文件中添加find_package命令,指定要查找的库的名称。例如,如果要查找OpenCV库,可以使用以下命令: 首先,在CMakeLists.txt文件中添加find_package命令,指定要查找的库的名称。例如,如果要查找OpenCV库,可以使用以下命令: 接下来,可以使用if语句来检查是否找到了指定的库。例如,可以使用以下代码: ...
默认情况下,find_package命令会首先尝试在MODULE_PATH中查找相应的find.cmake文件。如果指定了该参数,find_package命令将只使用CMake内置的文件搜索机制来查找库或框架。 find_package(MyLib NO_MODULE) 上述代码表示禁用find_package命令的模块模式,只使用CMake内置的文件搜索机制来查找MyLib库。 NO_DEFAULT_PATH:可...
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}中,将链接库设置...
无法找到OpenCV库是由OpenCV的安装路径未正确配置引起的。通过确认OpenCV已正确安装,并设置正确的OpenCV_DIR环境变量,可以解决这个问题。
在安装 CMake 时,CMake 为我们提供了很多开发库的 FindXXX.cmake 模块文件,可以通过命令查询: cmake --help-module-list | grep -E ^Find 1. 3.2 Config模式 略 四、命令使用 为了能够帮助大家理解 find_package 命令的用法,此处首先用 OpenCV 库举例子,示范如何通过 find_pakcage 命令找到 OpenCV 库并配...
find_package(OpenCV REQUIRED) # 最常见用法 查找名为 OpenCV 的包,找不到就报错(并终止 cmake 进程,不再继续往下执行)。 find_package(OpenCV REQUIRED COMPONENTS core videoio) 查找名为 OpenCV 的包,找不到就报错,且必须具有 OpenCV::core 和OpenCV::videoio 这两个组件,如果没有这两个组件也会报错...
find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(my_bin, ${OpenCV_LIBS}) 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。
概括来说,以opencv为例:find_package()函数,如果找到了相关的头文件和库文件,则会相应保存在OpenCV_INCLUDE_DIRS和OpenCV_LIBRARIES(OpenCV_LIBS) 中。 我们可以输出一下看看上面两个cmake变量是什么内容,在上述文件后面加如下代码: message("!!!OpenCV_INCLUDE_DIRS:" ${OpenCV_INCLUDE_DIRS}) message(...
上面列出的opencv和protobuf是重灾区,还有没有列出来的比如boost版本问题等。解决起来也不难: 明确find_package()的N大查找顺序 知道如何让find_package()找到非CMake构建安装的依赖包 find_package()原理解读 根据cmake官方文档可以知道,find_package()有Module模式(基本用法,basic signature)和Config模式(full signat...
1.Cmake -- find_package(Opencv REQUIRED)方法,寻找指定的库 在编译安装好Opencv好后, 显式指定Opencv版本find_package(OpenCV 3 REQUIRED )如图我有两个版本的Opencv, 通过修改版本号, 可以找到对应版本Opencv 2. 通过指定Opencv安装位置 set(OpenCV_DIR /run/media/geoffrey/Timbersaw/Backup/other_package/open...