由于其优先级最高,因此cmake会优先从该目录中寻找,这样我们就可以随心所欲的配置cmake使其找到我们希望它要找到的包。而且除上述指定路径外,cmake还会直接进入<package>_DIR下寻找。如我在3rd_parties目录下编译了一个OpenCV,那么执行cmake时可以使用 OpenCV_DIR=../../3rd-party/opencv-3.3.4/build/ cmake ....
因为我的opencv是安装ROS时自带的,所以.pc文件的名字和路径都比较奇怪,一开始用locate opencv.pc没有找到,然后便尝试自己写这个文件结果没想到3版本的opencv动态库的名字里面也有3,导致编译时链接的库都找不到,又是一番折腾,心累/(ㄒoㄒ)/~~,所以大家有安装了opencv时一定要先仔细找一下这个文件。 有了这个文...
而且除上述指定路径外,cmake还会直接进入<package>_DIR下寻找。如我在3rd_parties目录下编译了一个OpenCV,那么执行cmake时可以使用 OpenCV_DIR=../../3rd-party/opencv-3.3.4/build/ cmake .. 这样做以后,cmake会优先从该目录寻找OpenCV。
没有正确安装OpenCV库:在执行find_package之前,请确保您已经正确地安装了OpenCV库,并且可以通过命令行访问到。 OpenCV库的路径没有正确配置:CMake无法找到OpenCV库是因为您没有正确配置OpenCV的安装路径。 解决方法 要解决这个问题,可以采取以下步骤: 步骤1:确认OpenCV已正确安装 首先,确保您已经正确地安装了OpenCV库。...
我们可以在调用cmake时将这个目录传给cmake。由于其优先级最高,因此cmake会优先从该目录中寻找,这样我们就可以随心所欲的配置cmake使其找到我们希望它要找到的包。而且除上述指定路径外,cmake还会直接进入<package>_DIR下寻找。如我在3rd_parties目录下编译了一个OpenCV,那么执行cmake时可以使用...
可以看到在执行find_package(OpenCV 3 REQUIRED)命令后,CMake找到了我们安装的位于/usr/local下的OpenCV库,并设置了CMake变量OpenCV_DIR为OpenCV库的配置文件所在路径,正是通过载入这个路径下的OpenCVConfig.cmake配置文件才能配置好OpenCV库,然后在OpenCVConfig.cmake配置文件中定义了变量OpenCV_INCLUDE_DIRS为OpenCV库头...
为了能够帮助大家理解 find_package 命令的用法,此处首先用 OpenCV 库举例子,示范如何通过 find_pakcage 命令找到 OpenCV 库并配置,从而能够在我们自己的项目中调用 OpenCV 库,实现特定的功能。 下面的代码主要实现了利用 OpenCV 载入一张图片并显示的简单功能: ...
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...
上面列出的opencv和protobuf是重灾区,还有没有列出来的比如boost版本问题等。解决起来也不难: 明确find_package()的N大查找顺序 知道如何让find_package()找到非CMake构建安装的依赖包 find_package()原理解读 根据cmake官方文档可以知道,find_package()有Module模式(基本用法,basic signature)和Config模式(full signat...
使用find_package的关键在于找到库的配置文件,如OpenCVConfig.cmake或Qt5Config.cmake等。这些文件通常与库的动态库和头文件一起安装在系统中。例如,find_package(OpenCV)实际上是寻找OpenCVConfig.cmake文件。该文件包含库的详细信息,如动态库路径、头文件目录和链接选项等。在实际使用中,find_package...