编译环境和交叉编译环境的搭建

编译环境和交叉编译环境的搭建,第1张

qt版本4.8.6 opencv版本2.4.5

Host编译环境
zybo上跑的是xillybus的xillinux版本的ubuntu,参考的一个日语的教程安装的opencvqt。直接使用的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的环境变量能够正常运行。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2554081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-06
下一篇 2022-08-06

发表评论

登录后才能评论

评论列表(0条)

保存