编译环境和交叉编译环境的搭建
qt版本4.8.6 opencv版本2.4.5
Host编译环境:
zybo上跑的是xillybus的xillinux版本的ubuntu,参考的一个日语的教程安装的opencv和qt。直接使用的apt-get 命令安装的,zybo板子上已经安装了arm-linux-gnueabihf-的编译环境,hf是用到了硬件浮点,应该在效率上高一些吧命令如下
apt-get install gcc-arm-linux-gnueabihf
apt-get install g++-arm-linux-gnueabihf
在xillinux 的终端下跑如下命令安装qt
apt-get install qt4-dev-tools #开发包
apt-get install qtcreator #IDE
apt-get install qt4-doc #文档
opencv库
apt-get install libopencv-dev
这样在板子上就能直接运行qtcreator编译qt和opencv的程序了,具体的qt调用opencv库的方法很简单这就不说了
注意:host编译出来的是桌面图形的qt程序,一般交叉编译的在arm板子上用的都是qws界面,而且host的性能肯定没有pc的性能好,编译个程序都要好长时间,于是在pc端上搭建交叉编译环境。
PC交叉编译环境:
既然已经能再zybo上编译了,相应的库在zybo下都有了,想着交叉编译环境应该很容易,想把板子上的文件直接拷到PC上看看能不能用,于是把zybo里的qmake 和opencv的动态链接文件都拷到了PC端,在qtcreator上做kit的时候发现qmake 不能解析哈。。。
还是要重新交叉编译遍qt的。。。在PC端装好arm-linux-gnueabihf-的编译器,在qt的源码目录下configure,这个是参考的之前交叉编译的配置:
./configure -embedded armv7 -xplatform qws/linux-arm-gnueabi-g++ -little-endian -opensource -host-little-endian -confirm-license -nomake demos -nomake examples -no-pch -prefix /usr/local/qt-arm
很简洁哈make和make install 后(竟然没错误 哈哈 rp。。。)注:事先要改好linux-arm-gnueabi-g++文件里的内容
然后把opencv的.so文件拷到和arm板子上位置相同的路径里,把在板子上编译过的程序源码放到pc端编译了下,(板子上的程序用到了opencv)opencv的动态链接库文件可以用~,但是提示gtk和gdk等等的动态链接文件缺失,但是貌似这样就不用再交叉编译opencv啦,感觉这样轻松不少。对于提示缺少的一些.so文件,找了找那些文件的位置发现都是在板子"/lib/arm-linux-gnueabihf","/usr/lib/arm-linux-gnueabihf"路径下,把这两个文件夹拷到PC端对应路径下,再次编译程序,没报错,把编译好的程序拷到板子上设置好qws的环境变量能够正常运行。
- Zybo board 开发经验分享第一季: 详解硬件构架(02-07)
- Zybo全栈开发入门教程(基于Linux嵌入式系统):10个步骤自定义IP模块(02-07)
- 可穿戴设备掀智能技术新浪潮(06-10)
- Molex推出工业与网路应用光学快速转换电缆组件(11-10)
- 物联网通信协议的详解及选择建议(04-23)
- 异步消息传递技术JMS、AMQP和MQTT主要特性(05-03)