新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 編譯環(huán)境和交叉編譯環(huán)境的搭建

編譯環(huán)境和交叉編譯環(huán)境的搭建

作者: 時(shí)間:2017-10-13 來(lái)源:網(wǎng)絡(luò) 收藏

版本4.8.6 opencv版本2.4.5

本文引用地址:http://www.butianyuan.cn/article/201710/365727.htm

Host編譯環(huán)境:
上跑的是xillybus的xil版本的ubuntu,參考的一個(gè)日語(yǔ)的教程安裝的opencv和。直接使用的apt-get 命令安裝的,板子上已經(jīng)安裝了arm--gnueabihf-的編譯環(huán)境,hf是用到了硬件浮點(diǎn),應(yīng)該在效率上高一些吧命令如下
apt-get install gcc-arm--gnueabihf
apt-get install g++-arm-linux-gnueabihf

在xillinux 的終端下跑如下命令安裝
apt-get install qt4-dev-tools #開(kāi)發(fā)包
apt-get install qtcreator #IDE
apt-get install qt4-doc #文檔

opencv庫(kù)
apt-get install libopencv-dev

這樣在板子上就能直接運(yùn)行qtcreator編譯qt和opencv的程序了,具體的qt調(diào)用opencv庫(kù)的方法很簡(jiǎn)單這就不說(shuō)了

注意:host編譯出來(lái)的是桌面圖形的qt程序,一般交叉編譯的在arm板子上用的都是qws界面,而且host的性能肯定沒(méi)有pc的性能好,編譯個(gè)程序都要好長(zhǎng)時(shí)間,于是在pc端上搭建交叉編譯環(huán)境。

PC交叉編譯環(huán)境:
既然已經(jīng)能再上編譯了,相應(yīng)的庫(kù)在zybo下都有了,想著交叉編譯環(huán)境應(yīng)該很容易,想把板子上的文件直接拷到PC上看看能不能用,于是把zybo里的qmake 和opencv的動(dòng)態(tài)鏈接文件都拷到了PC端,在qtcreator上做kit的時(shí)候發(fā)現(xiàn)qmake 不能解析哈。。。

還是要重新交叉編譯遍qt的。。。在PC端裝好arm-linux-gnueabihf-的編譯器,在qt的源碼目錄下configure,這個(gè)是參考的之前交叉編譯的配置:
./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

很簡(jiǎn)潔哈make和make install 后(竟然沒(méi)錯(cuò)誤 哈哈 rp。。。)注:事先要改好linux-arm-gnueabi-g++文件里的內(nèi)容
然后把opencv的.so文件拷到和arm板子上位置相同的路徑里,把在板子上編譯過(guò)的程序源碼放到pc端編譯了下,(板子上的程序用到了opencv)opencv的動(dòng)態(tài)鏈接庫(kù)文件可以用~,但是提示gtk和gdk等等的動(dòng)態(tài)鏈接文件缺失,但是貌似這樣就不用再交叉編譯opencv啦,感覺(jué)這樣輕松不少。對(duì)于提示缺少的一些.so文件,找了找那些文件的位置發(fā)現(xiàn)都是在板子“/lib/arm-linux-gnueabihf”,“/usr/lib/arm-linux-gnueabihf”路徑下,把這兩個(gè)文件夾拷到PC端對(duì)應(yīng)路徑下,再次編譯程序,沒(méi)報(bào)錯(cuò),把編譯好的程序拷到板子上設(shè)置好qws的環(huán)境變量能夠正常運(yùn)行。



關(guān)鍵詞: zybo linux qt

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉