Arm-Linux嵌入式QT-E環境的建立(qt-e 3.x系列)_第1頁
Arm-Linux嵌入式QT-E環境的建立(qt-e 3.x系列)_第2頁
Arm-Linux嵌入式QT-E環境的建立(qt-e 3.x系列)_第3頁
Arm-Linux嵌入式QT-E環境的建立(qt-e 3.x系列)_第4頁
Arm-Linux嵌入式QT-E環境的建立(qt-e 3.x系列)_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Arm-Linux 嵌入式 QT/E環境的建立 (qt/e 3.x系列 日期:2010-12-18來源:Linux 社區 作者:LinuxQT/E 3.x系列比 QT/E 2.x系列有非常大的改進,大大提高了開發進度,不再使用 tmake, 安裝也更 簡單。但目前在網上關于 QT/E 3.x系列的介紹還是比較少,所以本文介紹一下 QT/E 3.x系列的安 裝。一、建立 arm 交叉編譯工具鏈在安裝 QT/E之前,應確保 arm-linux 交叉編譯工具鏈已經建立,如果還沒有可以參考以下步驟建 立。1、下載交叉編譯工具 cross-2.95.3.tar.bz2(或其他版本如 :cross-3.4

2、.4.tar.bz2,這是已經制作好的 arm 交叉編譯工具鏈,只需解壓及建交環境變量即可使用。2、把文件 cross-2.95.3.tar.bz2拷貝到一個文件夾, 這里我用:/usr/local/arm這 個目錄。 注意后面建立環境變量時要與之對應。4、建立環境變量 export PATH=/usr/local/arm/2.95.3/bin:$PATH或者也可以寫進文件 /.bashrc中,這樣就不用每次開機都 export 啦。vi /.bashrc在后面加上 export PATH=/usr/local/arm/2.95.3/bin:$PATH到此 arm-linux 交叉編譯工具鏈就

3、已經建好了。二、編譯 QT1、 QT/E自由版可到官網 ftp 下載。網址是:ftp:/ 。 可自己選擇一個版 本下載,個人認為 QT/E 3.x系列比較好用,不過 QT/E 2.x系列在網上的資料比較多。但建議不用 qt/e 3.3.x 的版本,因為在本人開發的過程當中試用過 qt/e 3.3.4和 qt/e3.3.8,發現它們在 ARM 開 發板上占 CPU 的資源特高,一直占 cpu 98%左右,現在我還沒找到原因,不知道有沒有哪位朋友 也遇到這個問題。推薦用 qt/e 3.1.0版本,我正在用,沒遇到什么問題。(注:問題已經得到解決,原來是鍵盤接口沒做好,等有空與大家分享一下移植鍵盤接

4、口的過程 3、把文件 qt-embedded-free-3.1.0.tar.bz2 拷貝到一個文件夾,這里我用:/usr/local/arm這個目錄。 注意后面建立環境變量時要與之對應。把解壓后的文件夾 qt-embedded-free-3.1.0改為 qte 。(可以不改,這里是為了方便,注意后面建 立環境變量時要與之對應mv qt-embedded-free-3.1.0 qte5、建立環境變量vi /.bashrc在后面加上export QTDIR=/usr/local/arm/qteexport QTEDIR=$QTDIRexport PATH=$QTDIR/bin:$PATHexpor

5、t LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH(請重新登陸,以使得環境變量生效6、配置 QT進入 QT/E目錄 : cd $QTDIR輸入 : ./configure -embedded arm -thread -no-cups -qvfb -depths 4,8,16,32上述選項:-embedded arm 指目標平臺為 arm ; -thread 表示支持 qt 線程,本人開發當中用到; -qvfb 表示支持虛擬緩沖幀工具 qvfb ; -depths 4,8,16,32 表示支持 4, 8, 16, 32 位的顯示顏色深度。還有很 多選項就不

6、一一列舉,請查看 ./configure -help。此外還有一個選項我沒用的是 -qconfig local,你可以把一些開關變量寫到一個文件 qconfig-local.h 中, 并把它放到 $QTDIR/src/tools下??蓞⒖歼@個目錄下的 qconfig-small.h 、 qconfig-medium.h 、 qconfig-large.h 等文件,直接使用它們也行,如: -qconfig small 。通過這些開關變量,可以把一些開發當中用 不著的構件去掉,減少 qt 庫的大小。這里要對 QT 比較熟練,初學者可先不理。(本人在家里編譯到這里曾出現編譯 $QTDIR/inclu

7、de/qvaluestack.h 這個文件的時候出錯,后來把 qt3.3.8對應的文件拷貝過來覆蓋便通過了,估 計 是與 gcc 的版本不 兼容 的問題,我在 公司 里沒出現過這 種 問題7、編譯make sub-src / 指 定按精 簡方式編譯開發 包 ,也就是 說 有些 Qt 類未被 編譯。8、 測 試至 此編譯工作 完成 , 最 后 測 試一下是 否能 正常使用。我們可以用 QT 自 帶 的 例子 來 測 試,如 :cd $QTDIR/examples/aclock /或你自己新建一個 QT 工程也行make clean /把原來的 清 掉rm *.pro Makefile /刪 掉,

8、重新建立工程文件qmake -projectqmake -spec $QTDIR/mkspecs/qws/linux-arm-g+ -o Makefile-spec 指 定 目標板的配置文件,這里我做的是 linux arm平臺,注意在這里, $QTDIR/mkspecs/qws/linux-arm-g+ 它不是編譯 器 ,是一個配置文件, 而 編譯時用的編譯 器 是我們 在 第 一步建立的 arm 交叉編譯工 具鏈里面的編譯 器 。make如果沒出錯就表示你的 QT/E環境已經 成功 建立。如果提示 說 cannot find -lqte, 那 么你試一下 修 改 Makefile 文件,找

9、到 -lqte ,把它改為 -lqte-mt 再 make 一次一 般 就行了。這是因為如果用到 QT 線程或其它 一些原因,它生 成 的庫不再是 libqte.so.3.1.0, 而 是 libqte-mt.so.3.1.0,所以它便找不到了。三 、移植到開發板(以下都是在目標機環境下1、新建一個目錄,如:/qt/lib。進入此目錄 cd /qt/lib2、通過 ftp 把上面生 成 的 qt 庫文件 libqte-mt.so.3.1.0下載到開發板 /qt/lib/目錄下。(注意:不要用 wget 下載, 會破壞 庫文件, 從而 出現 ld.so: dynamic-link.h: 62:

10、elf_get_dynamic_info: Assertion ! bad dynamic tag failed!.這 種 錯 誤 3、 創 建 qt 庫 連 接:4、建立環境變量vi /.bashrc在后面加上export QTDIR=/qtexport QTEDIR=$QTDIRexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH4、到此目標板的環境已經建好?,F在可以把上面的 例子 aclock 下載到目標板上試一下 能 不 能跑起 來 ! 在開發板 控 制臺下輸入 : ./aclock -qws如果 能跑起 來但是鍵盤用不了, 那 是正常的 情況 ,因為鍵盤、 鼠 標等設 備 的接口還沒加進 QT/E的原因, 而 這個不是一 兩句話能說清 的,所以 留 到以后再 另 外 補充!補充 一 點 :如果有 類似 這樣的提示 : ./aclock: error while loading shared libraries: libstdc+.s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論