关闭

cmake之管理多版本opencv

标签: cmakeopencv
1266人阅读 评论(0) 收藏 举报
分类:

一、问题描述:

1、我要使用orb-slam2,依赖DBoW2,DBoW2依赖DLib,不就是装软件嘛,谁不会啊~
2、

git clone https://github.com/dorian3d/DBoW2.git 
cd DBoW
mkdir build
cd build
cmake ..
make

报错了,找不到头文件。

二、问题分析

使用opencv的版本不对,这个库使用了最新的版本,正好我最近编译过最新的opencv,修改CMakeLists.txt文件就可以解决问题。

三、解决步骤

CMakeLists.txt使用的是find_package来链接动态库,find_package会去寻找FindOpenCV.cmake文件。然而我还装了cuda版本的opencv,默认使用find_package下,是使用FindCUDA.cmake。如果修改这个文件,势必会影响cuda其他的程序。所以,决定用pkg-config来链接动态库。

修改这句话:

 find_package(OpenCV REQUIRED)

find_package(PkgConfig)
pkg_check_modules(OpenCV opencv>=3.1.0)
set(OpenCV_LIBS ${OpenCV_LIBRARIES})
LINK_DIRECTORIES(${OpenCV_LIBDIR}) 

为了让pkg-config找到正确版本的opencv,需要把正确版本的opencv的opencv.pc文件放到PKG_CONFIG_PATH路径下,我的是

/usr/lib/x86_64-linux-gnu/pkgconfig

再次编译,可以顺利通过。

四、其他

pkg-config的常见用法是直接接在gcc/g++命令里面,如:

g++ test.cpp -o test `pkg-config --cflags --libs opencv`
0
0
查看评论

多版本opencv编译配置

转自网址修改cmake_install_prefix, opencv3.1 安装目录/usr/local/opencv3, opencv2.4 安装目录/usr/local/opencv2, 在cmake-gui中可以搜索cmake_install_prefix,修改。 注意如果准备切换op...
  • u010566411
  • u010566411
  • 2017-01-10 19:52
  • 1578

CMakeLists.txt添加opencv库注意事项

CMakeLists.txt文件# cmake needs this line cmake_minimum_required(VERSION 2.8)# Define project name project(opencvTest)# Find OpenCV, you may need to set...
  • u012816621
  • u012816621
  • 2016-07-06 13:06
  • 11978

linux下多版本opencv共存问题

opencv的多版本共存问题。
  • ouyangandy
  • ouyangandy
  • 2017-07-28 16:21
  • 798

用Cmake管理openCV项目

用Cmake的find_package()命令可以帮我们很快找到openCV依赖的lib文件,而不用自己一个个target_link_libraries()示例CMakeList.txt文件cmake_minimum_required(VERSION 3.3) project(test)set(CM...
  • autoliuweijie
  • autoliuweijie
  • 2016-02-26 16:06
  • 426

【Dlib】在项目中同时导入Dlib库和OpenCV库

在项目中同时导入Dlib库和OpenCV库
  • u012330429
  • u012330429
  • 2017-11-14 13:45
  • 266

cmake项目引入dlib方法

1 首先到http://dlib.net/官网下载源码,编译: cd dlib mkdir build cd build cmake .. cmake --build . --config Release 编译后应该会得到静态库和动态库libdlib.so  libdlib...
  • qq_29573053
  • qq_29573053
  • 2017-09-01 15:03
  • 430

Visual Studio 2015一分钟配置opencv及CMake编译OpenCV3.1(含opencv-contrib)

本文由@星沉阁冰不语出品,转载请注明作者和出处。 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/52821497 微博:http://weibo.com/xingchenbing  本文包含以下几个内容,大...
  • xingchenbingbuyu
  • xingchenbingbuyu
  • 2016-11-23 14:36
  • 5518

Dlib与Opencv的图像转换

dlib的图像格式是array2d,opencv的图像格式是mat。在dlib代码中使用opencv的图像格式的话,我目前想到两种方法。假设D盘下面有一张图像lenna.bmp。array2d的读存图,可用下面两行代码: load_image(arr2d的图像, 保存在电脑中的图像全路径); /...
  • yubin1277408629
  • yubin1277408629
  • 2016-12-10 21:06
  • 2847

利用opencv,dlib,python编写人脸检测程序

个人感觉,用python做opencv的东西,虽然简单方便易学,但不可避免的是效率低下,如果可以,我想利用python了解opencv的函数。
  • cvc_chen
  • cvc_chen
  • 2017-02-25 14:33
  • 1542

dlib的编译

github地址:https://github.com/davisking/dlib 也可以在此下载:http://dlib.net/我解压至此:D:/OpenCV/dlib-19.2 cmake后在 D:/OpenCV/dlib-19.2/lk_build/ 下生成 dlib.sln 用VS...
  • liukang325
  • liukang325
  • 2017-02-15 16:14
  • 1715