《rainysky陪你一起在zedboard上移植qt+opencv(四):在zedboard运行QT.docx》由会员分享,可在线阅读,更多相关《rainysky陪你一起在zedboard上移植qt+opencv(四):在zedboard运行QT.docx(5页珍藏版)》请在第一文库网上搜索。
1、rainysky陪你一起在Zedboard上移植qt+opencv(四):在Zedboard运行QT其实在zedboard上运行QT在懒兔子和超群晴天的博客的里面都有写过,还算比较详细,不过也算是为了完整性,rainysky还是要把整个的流程写一遍。在wiki里面也有完整的教材,大家可以参考下?1ink=http%3A%2F%2F%2Fzy.首先是下载Qt的源码,最好是与你的qt的板卡一样,如果是按照三安装的qt可以用qmake-v命令查看版本,(如果你要是认真的看qt的安装过程,你会发现,里面也有显示qt的版本号)可以看到rainysky用的是4.8.1的版本,不同的安装时间可能版本号不一样
2、。QT源码的下载地址是91ink=http%3A%2F%2Fre1eases.qt-p.根据你自己版本号,将4.8.1改成你自己的,就可以下载源码包啦。RainySky将下载的源码包放在了共享目录下,并且建立optZedboad/qt文件夹,命令如下:为了能保存好安装好的文件,在新建两个文件夹optzedboard/qt/buiId/opt/zedboard/qtinsta11,效果如下之前我们已经配置好了交叉编译环境使用的环境变量PATH和CROSS_COMPT1E,为了方便操作,还可以在设置如下几个环境变量。exportZYNQQTBUI1D=optzedboardqtbuiIdexpor
3、tZYNQ_QT_INSTA11=/opt/zedboard/qt/insta11exportPATH=$ZYNe1QT_INSTA11/bin:$PATH效果如下.ootra1nysky:ZedbOard。exportZYNQ_QT_BUI1D=/opt/zedboard/qt/but1d(rootratysky:zedboard#exportZYNQ-QT-INSTA11optzedboardqttsta11rootratnysky:zedboard#exportPATH=$ZYNQ_QT_INSTA11/bin:$PATHrootratysky:zedboard#$PATHBbash:o
4、ptzedboardqt八nsta11/btn:/root/COdeSOUrCery/S。UrCery_CodeBench_1tte_f。Hr_Xt1tnx_CNU_1inux/btn/:/root/CodeSourcery/Sourcery_CodeBench_1tte_for_Xt1tnx_CNI;U_1tnux/btn:/usr/1tb/1.tghtdm/1tghtdn:/usr/1oca1/sbtn:/usr/1oca1/btn:/usr/sbtn:/uIsr/btn:sbt:btn:/usr/ganes:没有那个文件或目录rootratnysky:zedboard#屿慢煜友uu.e1
5、ecfans.co记得一点,当你把这个终端关闭的话,环境变量就会失效,需要重新在设置下环境变量,如果想方便一点的话,可以安装(二)里面设置交叉编译环境一样,设置新的环境变量。将源码包复制到bui1d文件夹下面,并且解压。ootrainysky:zedboard#CPmnthgfs基于XtItnxZyq书籍qteverywhere-opensjurce-src-4.8.1.tar.gz$ZYiQQ1BUI1D!rootratnysky:zedboard#Cd$ZYNQ_QT_BUI1Drootratnysky:bui1df1aqt-everywhere-opensource-src-4.8.1.
6、tar.gzroot0rainysky:bui1d#Isqt-everywhere-opensource-src-4.8.1.tar.gzirootratysky:bui1d#tarxfvqt-everywhere-opensorce-src-4rootraiysky:bui1d#Isqt-everywhere-opensource-src-4.8.1qt-everywhere-opensource-src-4.8.1.tar.gzoOtQratnysky:bui1d#cdqt-everywhere-opensource-src4.8.1config.profi1esexamp1es1ICEN
7、SE.FD1READMEconfig.testsimports1ICENSE.CP13SCconfigureinc1ude1ICENSE.1CP1temp1atesconftgure.exeINSTA11nkspecstoo1sbindenoscha9es-4.8.1doc1GP1EXCEPTION.txtItbrootrainysky:qt-everywhere-opesource-src-4.8.1#projects.protrans1ationsqnakeuti1也引发嫌发uAvu/root0raxnyskyjqt-everywhere-opensource-src-4.8.1#Is为了
8、能够安装配置QT,还需要下载一个软件包,Qt/Qwtsourcesarchive(qt_bui1d_src.tar见附件),和qt的源码包一样。复制解压。rootratnysky:qt-everywhere-opensource-src-4.8.1#cd.rootratnysky:bui1d#cpmnthgfs基于Xt11nxZyq书籍/qt_bu11d_src.tar./root0ratysky:bui1d#Isqt_bu11d_src.tarqt-everywhere-opensource-src-4.8.1.tar.gzqt-everywhere-opensource-src-4.8.1
9、umu.e1ecfarootratnysky:bui1d#tarxfv|qt_but1d_src.tar解压出来是四个文件:qt-everywhere-opensource-src-4.7.3.tar.gz-Qtsourcearchiveqmake.conf-Qtqmakeconfigurationfi1eqwt-6.O.1.tar.bz2-Qwtsourcearchiveqwtconfig.pri-Qwtqmakeprojectinc1udefi1e其实我们需要的只是qmake.conf这一个文件,其他都不需要,(以后你会发现这个文件的更强大的功能,现在先不对这个文件进行修改),qt_bui
10、1d_src.tar里的qmake.conf配置文件复制到qt-everywhere-opensource-src-4.8.1/mkspecs/qws/1inu-arm-gnueabi-g+目录下,这个文件用来告知QMake应该用哪个编译器来编译行程然后对QT进行配置,配置文件如下:./configure-embeddedarm-p1atformqws/1inu-arm-gnueabi-g+-1itt1e-endian-opensource-host-1itt1e-endian-confirm-1icense-nomakedemos-nomakeexamp1es-prefix$ZYNQQTIN
11、STA11整个为:rootraiysky:bui1d#cd$ZYNQ_QT_BUI1DIrootQra1nysky:bui1d#cdqt-everywhere-opensourcejC-4.8.1|rootratnysky:qt-everywhere-opesource-src4.8.1cp$ZYNQ_QT_BUI1D/qnake.confnikspecsqws1tu-ar-gueabt-g+jrootratyskyqt-everywhere-opensource-src-4.8.1./configure-embeddedarn-Xp1atfornqws1tnuxarm-gnueabtg+-1
12、itt1e-endian-opensource-host-1itt1e-endianconfirm-1icensenomakedemos-onakeexamp1es-prefix$ZYNQ_QT_fNSTA11.jB1UWW.e1ecF其中-PrefiX$ZYNQ_QT_INSTA11是告诉系统,安装的路径在哪的配置完成后进行编译:make编译好了就可以进行安装(安装需要在root权限下进行,ainysky进入系统的时候就是root权限,这样很方便):makeinsta11焦急的等了快半个小时,终于编译完成了。在insta11文件夹下面,就是安装的文件:Tootgrainysky:qt#ISb
13、ui1dinsta11WWWIFootgrainysky:qt#cdinsta11/root0ratnysky:insta11#Isbinimportsinc1udeIIbnkspecsP1UgInSootatnysky:InStaII#在Wiki百科里面,还讲了编译Qwt,但我们用不到,也就没有进行编译,感兴趣的可以安装上面的来。由于rainysky用的系统是也自带的那个精简版的系统,容量比较小,没法直接将编译的文件复制到里面,只能做一个镜像啦。做镜像的方法如下:cd$ZYNQ_QT_BUI1Dddif=devzeroof=qt_1ib.imgbs=1Mcount=80mkfs.ext2-F
14、qt1ib.imgchmodgo+wqt1ib.imgmountqt1ib.img-o1oopmntcp-rf$ZYNQ_QT.INSTA11/*mntchmodgo-wqt1ib.imgumountmnt解释一个,bs=1Mcount=80这句话代表的意思是建的镜像的大小是80M,所以复制的时候要注意一点啦,不要比这个大。此时在optzedboardqtbui1d下面的文件qt_1ib.img就是qt的库文件啦。至此qt移植成功了。要把qt的程序在板卡上运行,必须需要一个可执行文件,己我们上一节的he11owor1d为例rootgratnysky:zedboard#cdcode/rOOtgrainysky:code#Ishe11oWorIdhe11owor1d.chef1owor1d-pcheHowor1d-zedrootgraiysky:code#cdhe11owor1drootgratysky:he11owor1d#IShe11owor1dhe11owor1d-bui1d-desktop-Qt_4_8_1PATHrootgratysky:he11owor1d#pwdoptzedboardcodehe11owor1drootgratysky:he11owor1d#cdhe11owor1d4rootgratysky:he11owor1d#Is