Opencv3.2移植到arm板
注:博客中有些图片部分为了省事,借用了别人博客的图片,相关部分注意事项相同。若有侵权,请联系删除!
一,Opencv3.2移植到arm
Opencv3.2
ubuntu16.04
目标板:飞凌嵌入式iMx6-ul
前一:把opencv源码,/modules/highgui/src/windows.cpp 文件第583行和654行注释掉!!!非常重要!!!
583 行: CV_NO_GUI_ERROR("cvshowImage")
654行:CV_NO_GUI_ERROR("cvWaitKey")
不然程序运行时会提示如下让先安装gtk+2.x之类的错误。应该是没有显示屏显示的原因。
“OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow”
1,配置交叉编译环境,见imx6-ul软件手册
2,在源码目录下打开终端 /cmake-gui // 启动cmake
在cmake界面中进行配置
第一步:
第二步:
第三步:
1),下图为网上流传非常广泛的配置方法:在这个配置中填写的目标系统的名称会导致opencv库中V4L无法使用(因为在本次工程中没有使用opencv的V4L驱动库,可以忽略),应该为“Linux”
2),注意编译器的选择为交叉编译器,与下图中的区别。
3),target root 注意事项与下图相同
第四步:
1),建议使用静态库编译,选择动态库编译需要把动态库拷贝到arm板中,比较麻烦。
第五步:
4.按照上述配置完成后,进入编译文件目录(进入自己配置的目录)
然后执行 make 进行编译
鉴于网上的参考教程,大多数人这里会报错,这里将错误总结如下:
(1)报错:
Linking CXX executable ../../bin/opencv_test_calib3d
../../lib/libopencv_core.so: undefined reference to`pthread_key_create'
../../lib/libopencv_core.so: undefined reference to`pthread_getspecific'
....................
collect2: ld returned 1 exit status
make[2]: *** [bin/opencv_test_calib3d] Error 1
make[1]: ***[modules/calib3d/CMakeFiles/opencv_test_calib3d.dir/all] Error 2
make: *** [all] Error 2
或者
报错:undefined reference to “dlopen”
undefined reference to “dlysm”
解决方案:修改上图中“编译文件目录”目录下的CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,保险起见,加上-lpthread -lrt -ldl,如下图:
5.报错按照上述方法解决,再make后,执行sudo make install ,此时编译好的库就按照在你指定的目录下了.
NOTE: 如果sudo make install 出现 Cmakeerror at apps/annotation/cmake_install.cmake:42(FILE):之类的错误,直接打开文文件 apps/annotation/cmake_install.cmake把42行注释掉。
(一共有3个类似错误,对应三个文件,我这是都在第42行,都注释掉)
6.进入上述的安装库,若没有取消BUILD_SHARED_LI选项,则生产的是.so后缀的库文件,将这些库文件拷贝到板子的/lib目录下。
二,工程代码编译
7.在Ubuntu上编译的时候,建议使用CMakeList.txt 通过cmake编译
因为需要交叉编译,配置方法如下:
配置完makefile之后,直接make生成可执行文件,如果opencv为静态库,可执行文件拷贝至板子中即可运行。
8.CMakeLists.txt编译方式;
1), Linux下undefined reference to ‘pthread_create’’pthread _join’问题
在自己的工程目录下的CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS,加上-lpthread -lrt –ldl。
9,若电脑中装有多个版本的opencv,使用指定的OPENCV版本
在CMakeLists.txt文件中设置opencv文件夹路径
在cmake-gui中指定路径
Opencv3.2移植到arm板相关推荐
- 交叉编译并移植opencv3.0.0到arm板
原文:http://blog.csdn.net/gatieme/article/details/49080355 项目需求,交叉编译OpenCV,并移植到arm中. 在opencv2.0以上的版本编译 ...
- wxX11移植到arm板上
[原]移植wxX11到开发板上 2012-5-18阅读467 评论0 最近几天由于工作安排,要将wxX11程序移植到arm开发板上.一连工作了好几天,终于可以在板子上显示出一个"X" ...
- 最新版ser2net移植到ARM板上,交叉编译
这个是ser2net源码http://sourceforge.net/projects/ser2net/files/latest/download ser2net是我在玩openwrt时接触的,当时用 ...
- wxX11移植到arm板上(序)
在将wxX11里在程序在arm板子上运行之后,我们发现那上面的程序运行的时候没有边框和标题栏.于是我们就找这方面的解决方法.首先在tinyx里找到了一个窗口管理器twm,当把twm交叉编译完以后,拷到 ...
- QT程序到arm板(s5pv210)的移植之旅
前记: 由于毕设的原因,将来需要移植QT程序到arm板子运行,故有此文. 看博客寻资料,看到一位作者写道:知识来源于互联网,必将回报互联网.赞. 介于从陌生到熟悉的折腾,故将移植过程记录,发文,以己省 ...
- python交叉编译_交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上...
最近在学习Python,感觉使用Python可以快速的写出程序,比之前使用的C语言快多了,能省出很多时间.多学一点知识有更多的选择.本职工作是嵌入式开发,学习了Python后想移植到开发板上,尝试嵌入 ...
- 移植ethtool至ARM板
移植前需要理解的概念 『交叉编译器』:想要使程序能够在ARM板上运行,需要使用交叉编译器编译程序,如 arm-hisiv400-linux-gcc 『动态链接与静态链接的区别』:ARM板上相关库文件不 ...
- Openssl移植到ARM开发板
Openssl移植到ARM开发板 openssl源码下载 源码编译配置 使用生成的库文件 openssl源码下载 openssl源码可以在官网下载:https://www.openssl.org/so ...
- apache arm 交叉编译_Apache 2移植到Arm开发板的过程整理——如何交叉编译Apache 2
话说要在arm开发板的linux系统中运行apache服务器,需要在pc linux系统中交叉编译Apache源码,在网上参考了很多资料都是1.3版本的,最后终于找到apache 2移植到arm开发板 ...
最新文章
- 调用dubbo接口出现多次
- B2c商城图片尺寸设定研究 尺寸应该多大合适
- How to mannuly configure vmtools in VM-Ware?
- Leaflet中添加的不同图层样式图标
- java.lang.NoSuchFieldError: EMPTY_ORDERED_ITERATOR起因及解决办法
- 小结三种控制路由发布的方法
- 关于估时间的一些感想
- 蓝桥杯 ALGO-78 算法训练 确定元音字母位置
- 2.数据中台 --- 什么是数据中台
- 关闭迅雷更新到新版本的提示
- Mirth Connect 第一章 快速安装
- 【渝粤题库】广东开放大学 商务网站建设与维护 形成性考核
- Mac上 安装Drozer 并使用
- Python 入门-Task1 变量、运算符、数据类型及位运算
- 计算机输入d为啥返回桌面,按D键空格键就退出输入回到桌面
- 人工智能时代,教育革命迫在眉睫
- 网络安全规范(范例)
- 拨乱反正-重构是门艺术活
- 李飞飞团队新研究登Nature子刊!实现可信 AI,数据的设计、完善、评估是关键!...
- leetcode 分治 beautiful array
热门文章
- 计算机作用对象失败怎么办,虚拟电脑控制台严重错误—获取VirtualBox COM 对象失败的解决办法...
- 基于FPGA的遥控数字时钟设计
- react-native map函数遍历数据及其布局
- 利用python分析电商_Python电商数据分析实战
- 一文讲解灰光模块和彩光模块
- JavaScript-ES7~ES8新特性使用教程
- 计算机学识水平自我评价,计算机毕业自我鉴定范文
- ZigBee设备OTA过程研究及优化
- 统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no、部门名称dept_name以及次数sum
- windows_server_2008_远程桌面(授权、普通用户登录多用户登录