日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]QT/E和Qtopia的編譯詳解

(一)編譯PC上的qpe

     今天我給大家分享一下我自己從編譯PC上的QT到編譯ARM上的QT(交叉編譯QPE)的過(guò)程,首先說(shuō)說(shuō)編譯PC上的QT/E,我起初的時(shí)候不知道編譯PC上的QT/E編譯qpe和交叉編譯后的qpe有什么不同,后來(lái)才發(fā)現(xiàn)的確有不同點(diǎn):PC上的QT/E的qpe環(huán)境編譯成功以后輸入:
#qvfb 彈出了虛擬幀緩沖器,然后我們?cè)俅蜷_(kāi)一個(gè)終端,輸入:
#qpe 在返回上一個(gè)終端,發(fā)現(xiàn)qpe的圖形界面在虛擬幀緩沖的那個(gè)黑色框架中顯示出來(lái)
    而交叉編譯qpe以后,輸入
#qvfb 彈出虛擬幀緩沖器以后,然后再打開(kāi)一個(gè)終端,輸入:
#qpe 系統(tǒng)出現(xiàn)錯(cuò)誤:cannot execute binary file 說(shuō)明不支持這樣的二進(jìn)制文件格式
    總結(jié)得出pc編譯QT/E以后qpe 是i386 的,可以直接在PC機(jī)器上運(yùn)行,交叉編譯后的qpe是ARM的,只有掛接了板子后才可以運(yùn)行(大家可以找到qpe,然后用file命令檢測(cè)),具體操作如下:
#locate qpe | more  找到qpe位置,找到后轉(zhuǎn)到它所在的目錄,然后
#file qpe  這樣就可以看它(qpe)所支持的處理器格式了.

    下面我們來(lái)一步步分析我的編譯過(guò)程,
    硬件就不用說(shuō)了:內(nèi)存256MB,主頻1.6GHZ,因?yàn)槲沂菍W(xué)寫(xiě)驅(qū)動(dòng)的所以裸裝RedHat9.0(2.4.20-8)
    交叉編譯工具是2.95.3的,我把它放到了/usr/local/arm/目錄中,然后在/etc/profile中配置了它的路徑
    注意:大多數(shù)廠家都提供了編譯QT/E和Qtopia的腳本,我建議自己跟著他們提供的腳本一步一步的做,這樣以來(lái)錯(cuò)了也知道是在哪一步出問(wèn)題。
    首先在創(chuàng)建目錄/yehuo2410/qt_x86用于編譯QT/E
    商家提供以下編譯資料:
tmake-1.11.tar.gz  ,qt-embede-2.3.7.tar.gz , qt-x11-2.3.2.tar.gz,qt-free-1.7.tar.gz,這些對(duì)編譯PC上的QT/E的qpe足夠了,不過(guò)在交叉編譯qpe的時(shí)候,還差兩份資料:e2fsprogs.1.35.tar.gz,jpegsrc.v6b.tar.gz(必須要)
    現(xiàn)在開(kāi)始腳本分析了:
#cd /yehuo2410 (野火2410是我自己取的,不局限于任何廠家ARM開(kāi)發(fā)板)
#tar xzvf  +各個(gè)壓縮包,解壓到/yehuo2410
    以下建立通用的目錄
#mv tmake-11 tmake
#mv qt-2.3.7.tar.gz qt
#mv qt-2.3.2.tar.gz  qt-x11
#mv qt-free-1.7.tar.gz qtopia

#cd qt-x11  轉(zhuǎn)到這個(gè)目錄開(kāi)始編譯相應(yīng)的工具
#export QTDIR=$PWD  配置當(dāng)前QTDIR
#echo yes | ./configure -static -ro-xft -no-opengl -no-sm  形成Makefile文件
#make -C src/moc 編譯形成moc(元對(duì)象編譯器)工具
#cp src/moc/moc bin  拷貝上一步生成的moc到當(dāng)前目錄的bin
#make -C src  這一步是必須的
    以下兩步形成設(shè)計(jì)器designer和虛擬幀緩沖器qvfb
#make -C tools/designer
    這時(shí)候designer工具不會(huì)在tools/designer下形成,而是在當(dāng)前目錄(qt-x11的bin目錄)下形成,故不用拷貝,你會(huì)發(fā)現(xiàn)qt-x11/bin下多了uic,和designer工具,uic首先形成,因?yàn)閐esigner在編譯是要用到uic工具,uic工具是qt中用來(lái)處理.ui文件的工具。
#make -C tools/qvfb
#cp tools/qvfb bin 

#strip bin/uic bin/moc bin/designer bin/qvfb 是對(duì)各個(gè)工具可執(zhí)行文件進(jìn)行節(jié)優(yōu)化
#cp /bin/* ../qt/bin  拷貝這些工具到 qt-x11的兄弟目錄qt中的bin目錄中,qt/bin中有三個(gè)文件:findtr,
qt20fix,qtrename140,而qt-x11/bin中也有,拷貝的時(shí)候系統(tǒng)問(wèn)題是否覆蓋(qt-x11/bin里的這三個(gè)文件是否覆蓋qt/bin里的這三個(gè)文件?),我選擇是。
# cd ..
    下面開(kāi)始配置環(huán)境變量,很多腳本都這樣寫(xiě)
#export QTDIR=$PWD/qt
#export QTEDIR=$QTDIR
#export QPEDIR=$PWD/qtopia
#export TMAKEDIR=$PWD/tmake
#export TMAKEPATH=$TMAKEDIR/llib/qws/linux-generic-g++(常規(guī)g++編譯器)這是和交叉編譯qpe 的一處不同,qws目錄中有很多包括手機(jī),PDA和ARM之類(lèi)的g++編譯器。
#export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 配置了這里就不用配置/etc./ld.so.conf文件了。
    上述配置固然好,不過(guò)這樣只是針對(duì)當(dāng)前終端有效,如果再打開(kāi)一個(gè)新終端,那么這些變量在新終端中不會(huì)生效,保險(xiǎn)的方法是:在/etc/profile目錄里把這些配置信息輸入到profile的末尾,不過(guò)不能用$PWD了 要把所有$PWD字樣改成/yehuo2410/qt_x86,注銷(xiāo)系統(tǒng),重新登陸后,環(huán)境變量生效(有個(gè)立即生效的方法我忘記了)。
    如果這里沒(méi)有配置好,那么在編譯的時(shí)候可能出現(xiàn)tmake版本過(guò)低,然后系統(tǒng)要求起碼要1.11版本的
tmake,這是因?yàn)槲覀冞x擇了全部安裝Linux操作系統(tǒng),系統(tǒng)本來(lái)有個(gè)1.7版本的tmake,在沒(méi)有配置TMAKEDIR和TMAKEPATH的時(shí)候系統(tǒng)自動(dòng)使用自己1.7版本的tmake,所以出錯(cuò)。
#cd qt
#make clean 這里似乎沒(méi)有必要,不過(guò)建議執(zhí)行一下
#make -C src 注意:-C 選項(xiàng)是指在編譯是先轉(zhuǎn)到src目錄(不能自己直接轉(zhuǎn)到在src目錄make哦,因?yàn)槲以囘^(guò)了,結(jié)果是失?。?br /> #cd ..
#cd qtopia/src  開(kāi)始編譯在PC上可以執(zhí)行的qpe了
#./configure -platform linux-generic-g++
#make 
    大約半個(gè)小時(shí)就可以編譯完成
    完成后打開(kāi)任意一個(gè)終端,輸入
#qvfb &
    打開(kāi)另外新終端,輸入
#qpe &
    切換到老終端,就可以看到qpe在虛擬緩沖器qvfb上運(yùn)行的界面,代表你編譯PC上的qpe成功了
    有時(shí)候出現(xiàn)con't fine dev/fb0
    只要在/etc/prioile文件中,輸入
export QWS_DLS_DISPLAY=QVFb:0
    注銷(xiāo)一次(有個(gè)可以立即生效的方法,我忘記了),就可以了
    編譯的過(guò)程大概就是這樣,這已經(jīng)是最簡(jiǎn)單的過(guò)程,在Qtopia的編譯中會(huì)遇到更復(fù)雜,更繁瑣的問(wèn)題。
 

[!--empirenews.page--](二)交叉編譯qpe
    現(xiàn)在我們開(kāi)始交叉編譯qpe吧,不過(guò)要做好心理準(zhǔn)備,因?yàn)檎麄€(gè)過(guò)程將會(huì)遇到各種各樣的問(wèn)題, 失敗是很平常的,關(guān)鍵是我們要挺過(guò)來(lái),堅(jiān)持和摸索是我們每一個(gè)計(jì)算機(jī)工作者的法寶,讓我們開(kāi)始吧,和PC上不同的地方我會(huì)用紅色顯示出來(lái)!
    首先我們要準(zhǔn)備編譯資料,商家提供以下編譯資料:
tmake-1.11.tar.gz  ,qt-embede-2.3.7.tar.gz , qt-x11-2.3.2.tar.gz,qt-free-1.7.tar.gz,這些對(duì)編譯PC上的QT/E的qpe足夠了,不過(guò)在交叉編譯qpe的時(shí)候,還差兩份資料:e2fsprogs.1.35.tar.gz,jpegsrc.v6b.tar.gz,所以必須去網(wǎng)站上下載,也可以向別人索要。
    同樣我在/yehuo2410/下建立目錄qt_arm作為交叉編譯目錄
好!我們開(kāi)始分析腳本:
#cd /yehuo2410/qt_arm (拷貝上述所有壓縮包到該目錄包括e2fsprogs-1.35.tar.gz和jpegsrc.v6b.tar.gz兩個(gè)壓縮包)
當(dāng)前目錄為/yehuo2410/qt_arm
#tar xzvf  +各個(gè)壓縮包,解壓到/yehuo2410/qt_arm,記得要解壓e2...和jpegsrc....兩個(gè)包哦
#mv tmake-11 tmake
#mv qt-2.3.7.tar.gz qt
#mv qt-2.3.2.tar.gz  qt-x11
#mv qt-free-1.7.tar.gz qtopia

#cd qt-x11  轉(zhuǎn)到這個(gè)目錄開(kāi)始編譯相應(yīng)的工具
#export QTDIR=$PWD  配置當(dāng)前QTDIR
#echo yes | ./configure -static -ro-xft -no-opengl -no-sm  形成Makefile文件
#make -C src/moc 編譯形成moc(元對(duì)象編譯器)工具
#cp src/moc/moc bin  拷貝上一步生成的moc到當(dāng)前目錄的bin
#make -C src  這一步是必須的
以下兩步形成設(shè)計(jì)器designer和虛擬幀緩沖器qvfb
#make -C tools/designer
這時(shí)候designer工具不會(huì)在tools/designer下形成,而是在當(dāng)前目錄(qt-x11的bin目錄)下形成,故不用拷貝,你會(huì)發(fā)現(xiàn)qt-x11/bin下多了uic,和designer工具,uic首先形成,因?yàn)閐esigner在編譯是要用到uic工具,uic工具是qt中用來(lái)處理.ui文件的工具。
#make -C tools/qvfb
#cp tools/qvfb bin 

#strip bin/uic bin/moc bin/designer bin/qvfb 是對(duì)各個(gè)工具可執(zhí)行文件進(jìn)行節(jié)優(yōu)化
#cp /bin/* ../qt/bin  拷貝這些工具到 qt-x11的兄弟目錄qt中的bin目錄中,qt/bin中有三個(gè)文件:findtr,
qt20fix,qtrename140,而qt-x11/bin中也有,拷貝的時(shí)候系統(tǒng)問(wèn)題是否覆蓋(qt-x11/bin里的這三個(gè)文件是否覆蓋qt/bin里的這三個(gè)文件?),我選擇是。
# cd ..
下面開(kāi)始配置環(huán)境變量,很多腳本都這樣寫(xiě)
#export QTDIR=$PWD/qt
#export QTEDIR=$QTDIR
#export QPEDIR=$PWD/qtopia
#export TMAKEDIR=$PWD/tmake
#export TMAKEPATH=$TMAKEDIR/llib/qws/linux-arm-g++(常規(guī)g++編譯器)這點(diǎn)就和PC上的不同了,qws目錄中有很多包括手機(jī),PDA和ARM之類(lèi)的g++編譯器。
#export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
#export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 配置了這里就不用配置
/etc./ld.so.conf文件了,同樣,為了保險(xiǎn),我把上述信息寫(xiě)到了/etc/profile文件中并且在/etc/profile中的$PWD替換為/yehuo2410/qt_arm,我們不用擔(dān)心以前編譯的PC版本的qpe會(huì)受到影響,當(dāng)我們真正要用到PC版本的qpe的時(shí)把/etc/profile里面的這一部分涉及的/yehuo2410/qt_arm字符修改成/yehuo2410/qt_x86字符就可以了,當(dāng)然,設(shè)置完成以后注銷(xiāo)系統(tǒng)以生效。
#cd ..
#cd qt
#make clean
    再次強(qiáng)調(diào)以下步驟是必要的,否則會(huì)出現(xiàn)cannot fine -lqte問(wèn)題
#cp $QPEDIR/src/qt/qconfig-qpe.h src/tools
    在下一步中我發(fā)現(xiàn)編譯PC上的qpe時(shí)做到這一步時(shí),會(huì)問(wèn)你兩次(都回答yes),而這里只會(huì)問(wèn)一次,當(dāng)時(shí)我感到費(fèi)解,因?yàn)楹蛷S家提供的腳本不一樣(廠商提供的腳本是echo yes;echo no) ,我擔(dān)心是哪里出錯(cuò)了,但是我依然往下做,直到最后也沒(méi)有出現(xiàn)這里的相關(guān)問(wèn)題,所以就不用擔(dān)心
#echo yes|./configure -platform linux-arm-g++ -qconfig  qpe -qvfb -depths 16,24,32
#make -C src
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠(yuǎn)通信宣布,其自研藍(lán)牙協(xié)議棧DynaBlue率先通過(guò)藍(lán)牙技術(shù)聯(lián)盟(SIG)BQB 6.1標(biāo)準(zhǔn)認(rèn)證。作為移遠(yuǎn)深耕短距離通信...

關(guān)鍵字: 藍(lán)牙協(xié)議棧 移遠(yuǎn)通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實(shí)黨中央、國(guó)務(wù)院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務(wù)業(yè)的決策部署,更好發(fā)揮人力資源服務(wù)業(yè)賦能百業(yè)作用,8月29日,以"AI智領(lǐng) HR智鏈 靜候你來(lái)&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達(dá)成合作,為其自主研發(fā)的"旗馭車(chē)管"車(chē)輛運(yùn)營(yíng)管理平臺(tái)提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺(tái)對(duì)百余家企業(yè)客戶的運(yùn)營(yíng)管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市發(fā)展和改革委員會(huì)、上海市商務(wù)委員會(huì)、上海市教育委員會(huì)、上海市科學(xué)技術(shù)委員會(huì)指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會(huì)展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動(dòng)駕駛

推進(jìn)卓越制造,擴(kuò)大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車(chē)系統(tǒng)與蘇州工業(yè)園區(qū)管委會(huì)正式簽署備忘錄,以設(shè)立耐世特亞太總部蘇州智能制造項(xiàng)目。...

關(guān)鍵字: 智能制造 BSP 汽車(chē)系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團(tuán)宣布,新世代首款量產(chǎn)車(chē)型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車(chē)展。中國(guó)專屬版車(chē)型也將在年內(nèi)與大家見(jiàn)面,2026年在國(guó)內(nèi)投產(chǎn)。 寶馬集團(tuán)董事...

關(guān)鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領(lǐng)創(chuàng)新的核心驅(qū)動(dòng)力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領(lǐng)域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車(chē)...

關(guān)鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應(yīng)用發(fā)展大會(huì)"。會(huì)議以"破界?融合...

關(guān)鍵字: ETHERNET 智能未來(lái) BSP 工業(yè)通信
關(guān)閉