linux QT 环境下配置编译opencv以及配置需要注意的问题。

笔者配置环境:

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)




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值