linux QT 环境下配置编译opencv以及配置需要注意的问题。
2014-05-29 13:53
555 查看
笔者配置环境:
ubuntu:10.04
QT4.85
opencv2.44
首先下载源码。百度opencv
然后下载cmake或安装cmake-gui
在linux终端下#apt-get install cmka-gui
先解压opencv源码
然后在命令行中#cmake-gui
会弹出一个界面
其中第一行代表opencv源码目录:
第二行代表opencv编译生成库的中间目录,也就是要进入这个目录里执行make命令
然后点击Configure按钮,保持generator为Unix Makefiles,如果是给arm、平台编译opencv库的话,选择Specify options for cross-compiling,点击Next,如果是给PC机用的话,就直接默认配置,默认、bin/g++ gcc
按照如下方式配置(ARM):
注:/usr/local/arm/4.3.2 为交叉编译工具 arm-linux-g++/gcc 的所在包含文件夹(在bin文件夹里面)
然后点击 “Finish” 按钮;
修改默认配置,默认安装目录为/usr/local,但我想对它统一归类,所以我在/usr/local/arm/4.3.2/lib目录下新建了一个opencv文件夹,在Cmake-gui里修改CMAKE_INSTALL_PREFIX变量改为/usr/local/arm/4.3.2/lib/opencv/
(另外,如果没有安装tiff图像的支持,请去掉WITH_TIFF)
如果给PC机编译库文件,想用opencv里面的图形界面函数(创建window之类),或者想让opencv的
例程运行出效果就得选上:BUILD—GTK WITH——GTK 最好再选上V4L2和V4L,对摄像头支持
其中MAKE INSTALL PREFIX 选项中的参数为最终生成的库的安装路径,也就是make install 后文件安装到了所指定目录
然后点击Generate按钮生成Makefile;
4、在终端界面中,进入目录/usr/local/opencv/opencv-arm,运行make编译opencv
编译时发现如下错误:
Linking CXX executable ../../bin/opencv_createsamples
../../lib/libcxcore.so: undefined reference to `clock_gettime'
../../lib/libcxcore.so: undefined reference to `pthread_key_create'
../../lib/libcxcore.so: undefined reference to `pthread_getspecific'
../../lib/libcxcore.so: undefined reference to `pthread_setspecific'
原因是cmake不认识我定义的arm-linux系统标记,没有加上库pthread和rt的链接选项
此时需要修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,如下图:
重新make编译,错误消除,编译成功之后的界面如下:
5、然后运行make install,将opencv生成的库和头文件安装到目录/usr/local/lib(默认目录):
在使用时偶尔会出现,wrong file format ,也就是说文件格式错误,用file 命令检查下库文件属性,看看是8036 还是 ARM 偶尔会出现两种平台的文件混在一起了,最好重新编译一次,
在QT中,打开.pro文件。
在后面添加:
INCLUDEPATH +=你的opencv头文件目录 (默认:/usr/local/include)
LIBS +=你生成的opencv库的路径/*.so(默认:/usr/local/lib/*.so)
ubuntu:10.04
QT4.85
opencv2.44
首先下载源码。百度opencv
然后下载cmake或安装cmake-gui
在linux终端下#apt-get install cmka-gui
先解压opencv源码
然后在命令行中#cmake-gui
会弹出一个界面
其中第一行代表opencv源码目录:
第二行代表opencv编译生成库的中间目录,也就是要进入这个目录里执行make命令
然后点击Configure按钮,保持generator为Unix Makefiles,如果是给arm、平台编译opencv库的话,选择Specify options for cross-compiling,点击Next,如果是给PC机用的话,就直接默认配置,默认、bin/g++ gcc
按照如下方式配置(ARM):
注:/usr/local/arm/4.3.2 为交叉编译工具 arm-linux-g++/gcc 的所在包含文件夹(在bin文件夹里面)
然后点击 “Finish” 按钮;
修改默认配置,默认安装目录为/usr/local,但我想对它统一归类,所以我在/usr/local/arm/4.3.2/lib目录下新建了一个opencv文件夹,在Cmake-gui里修改CMAKE_INSTALL_PREFIX变量改为/usr/local/arm/4.3.2/lib/opencv/
(另外,如果没有安装tiff图像的支持,请去掉WITH_TIFF)
如果给PC机编译库文件,想用opencv里面的图形界面函数(创建window之类),或者想让opencv的
例程运行出效果就得选上:BUILD—GTK WITH——GTK 最好再选上V4L2和V4L,对摄像头支持
其中MAKE INSTALL PREFIX 选项中的参数为最终生成的库的安装路径,也就是make install 后文件安装到了所指定目录
然后点击Generate按钮生成Makefile;
4、在终端界面中,进入目录/usr/local/opencv/opencv-arm,运行make编译opencv
编译时发现如下错误:
Linking CXX executable ../../bin/opencv_createsamples
../../lib/libcxcore.so: undefined reference to `clock_gettime'
../../lib/libcxcore.so: undefined reference to `pthread_key_create'
../../lib/libcxcore.so: undefined reference to `pthread_getspecific'
../../lib/libcxcore.so: undefined reference to `pthread_setspecific'
原因是cmake不认识我定义的arm-linux系统标记,没有加上库pthread和rt的链接选项
此时需要修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,如下图:
重新make编译,错误消除,编译成功之后的界面如下:
5、然后运行make install,将opencv生成的库和头文件安装到目录/usr/local/lib(默认目录):
在使用时偶尔会出现,wrong file format ,也就是说文件格式错误,用file 命令检查下库文件属性,看看是8036 还是 ARM 偶尔会出现两种平台的文件混在一起了,最好重新编译一次,
在QT中,打开.pro文件。
在后面添加:
INCLUDEPATH +=你的opencv头文件目录 (默认:/usr/local/include)
LIBS +=你生成的opencv库的路径/*.so(默认:/usr/local/lib/*.so)
相关文章推荐
- win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)
- win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)
- win7 64位下自行编译OpenCV2.4.10+CUDA toolkit 5.5的整个过程以及需要注意的问题(opencv+cuda并行计算元素的使用)
- linux 下配置python 以及 python脚本的移植需要注意的问题
- Opencv3.2+VS2015环境配置(VS2015以下版本需要自己编译dll)
- ThinkPHP学习笔记(五)数据库的链接设置以及主从数据库配置需要注意的问题
- Xcode 8最近朋友的项目遇到了关于上架的问题以及xcode8所需要的环境的配置以及ios 10所支持的功能
- PowerDesigner16.5快速入门显示,注释comment配置方法,以及创建sql文件过程中需要注意的一些问题
- linux环境下c++的编写、调试以及makefile多文件连编需要注意的问题
- QT各版本环境搭建以及opencv编译配置
- Opencv3.2+VS2015环境配置(VS2015以下版本需要自己编译dll)
- win7 64位,vs2010(visual studio2010)环境下配置openCV2.4.8版本,以及可能遇到的问题
- PowerDesigner16.5快速入门显示,注释comment配置方法,以及创建sql文件过程中需要注意的一些问题
- Opencv 3.0环境下编译SSD的问题以及解决方法。
- Notepad++ 配置 MinGW(gcc)编译环境配置 以及问题解决
- Cocos2d-js-v3.2 在 mac 上配置环境以及编译到 Andorid 的注意事项
- spark eclipse 本地开发环境配置 以及应注意的问题
- hadoop环境配置(1)--总体软件需要介绍,以及fedora安装注意事项
- cmd使用cl编译的配置方法以及相关问题的解决方法
- VC6配置opencv编译环境