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...
无法找到OpenCV库是由OpenCV的安装路径未正确配置引起的。通过确认OpenCV已正确安装,并设置正确的OpenCV_DIR环境变量,可以解决这个问题。
概括来说,以opencv为例:find_package()函数,如果找到了相关的头文件和库文件,则会相应保存在OpenCV_INCLUDE_DIRS和OpenCV_LIBRARIES(OpenCV_LIBS) 中。 我们可以输出一下看看上面两个cmake变量是什么内容,在上述文件后面加如下代码: message("!!!OpenCV_INCLUDE_DIRS:" ${OpenCV_INCLUDE_DIRS}) message("!!!Open...
Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable No package 'opencv' found 1. 2. 3. 4. 很简单,从字面意思即可看出是pkg-config的搜索路径里面找不到opencv.pc这个文件,所以需要我们将其路径添加到环境变量中好让编译器找到这个库,怎么添加,很简单。
上面列出的opencv和protobuf是重灾区,还有没有列出来的比如boost版本问题等。解决起来也不难: 明确find_package()的N大查找顺序 知道如何让find_package()找到非CMake构建安装的依赖包 find_package()原理解读 根据cmake官方文档可以知道,find_package()有Module模式(基本用法,basic signature)和Config模式(full signat...
下面是使用find_package命令的匹配模式的语法: find_package(<package> [version] [EXACT] [QUIET] [REQUIRED] [[COMPONENTS] [component1] [component2] ...]) 其中,<package>参数是要查找的依赖库的名称,比如Boost、OpenCV等。[version]可以指定库文件的版本号。[EXACT]表示必须精确匹配指定的版本号。[QUIET]...
但实际中往往CMake失败就是出在find_package()的失败上(这里不考虑后续make/nmake/msbuild以及编译器、链接器直接执行时的编译、链接出错,只讨论cmake根据CMakeLists.txt执行时候的情况),例如: 多个OpenCV版本的问题 apt或brew等系统包管理工具安装的opencv,和手动编译的OpenCV共存问题...
第一步:在CMakeLists.txt文件中引入"find_package"指令 在开始前,我们需要确保正确地引入了"find_package"指令。通常,我们在CMakeLists.txt文件的顶部添加以下行: cmake_minimum_required(VERSION 3.0) #指定所需的CMake最低版本 project(MyProject) #指定项目名称 find_package(OpenCV REQUIRED) #导入OpenCV库 在...
find_package(package_name[version][EXACT][QUIET][MODULE][REQUIRED] [[COMPONENTS][component1][component2]...]) 其中,package_name表示要查找的包名称,例如Boost,OpenCV,Qt等。可选参数[version]用于指定所需的包版本。其他选项如EXACT,QUIET,MODULE,REQUIRED可以根据需要进行设置。
但实际使用过程可能会出现这样那样的问题,因此需要我们对find_package这个强大的命令有个大概的理解。 一个find_package的例子 为了能够帮助大家理解find_package命令的用法,此处首先用OpenCV库举例子,示范如何通过find_pakcage命令找到OpenCV库并配置,从而能够在我们自己的项目中调用OpenCV库,实现特定的功能。