移植 Qt4.8.5到Tiny210


1. 下載qt-everywhere-opensource-src-4.8.5.tar.gz, PC端和ARM端都是同一個文件,下載地址:http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz

2. 先編譯PC端的,

1. 解壓出來,重命名文件夾為: x86-qt-everywhere-opensource-src-4.8.5,

2. 進入到x86-qt-everywhere-opensource-src-4.8.5目錄

3. 配置: ./configure

4. make,沒出現什么問題,花了二三個小時完成

5. sudo make install 默認裝在:/usr/local/Trolltech/QtEmbedded-4.8.5-i386$

3. 編譯ARM端

1. 從壓縮包再解壓出來,重命名文件夾為: arm-qt-everywhere-opensource-src-4.8.5,雖然與PC端是相同的代碼,按理說在同一個文件夾用不同的配置也可以,但為了避免問題,還是另建一份新的檔案.而且也可以同時make,節省時間

2. 進入到arm-qt-everywhere-opensource-src-4.8.5目錄

3. 配置:

./configure -prefix /opt/qt-4.8.5-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -qt3support -phonon -phonon-backend-multimedia -no-xmlpatterns -no-glib -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -nomake examples -nomake docs -nomake demo -no-nis -no-cups -iconv -no-dbus -openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -no-pch -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib/include -L/opt/tslib/lib

之前出現過一個錯誤:

cc1:error:.pch/release-shared-emb-arm/QtGui:NO such file or directory

后來加上-no-pch 就解決了

4.make, 順利完成,花了三個多小時

5.sudo make install, 安裝慶/opt/qt-4.8.5-arm

 

4.安裝Qt Creator

1.試過安裝2.8.1版的,不能用,不知道為什么,就安裝了qtcreator-2.6.2.

2.配置 Tools->Options... 增加Compiler,指向交叉編譯器的arm-linux-g++

image

3. 增加Qt versions,分別指向剛剛編譯的二個平台的qmake

補充: 之前使用友善提供的配置:yes | ./configure -opensource -embedded x86 -xplatform qws/linux-generic-g++  -qt-libtiff -qt-libmng -qvfb編譯PC端,在選擇Qt Version時總會出現一個黃色的嘆號,如下圖所示,建立的項目在PC端問題無法運行,提示要加-qws,可是加了之后又提示不能打開/dev/fb0之類的問題,為這個問題郁悶了好久,始終找不到解決方案.

后來又試了一次,直接使用./configure配置,竟然順利完成了,建立項目也可以跑了…

image

3. 增加Kits

PC版本的

image

ARM版本的

image

4.新建一個針對Desktop的工程, 完成后點擊左邊的Projects,再點擊Add kit增加一個我們剛剛建立好的Kit “ARM210”

image

5.好了之后再點擊左邊的顯示器圖標,選擇不同的目標平台就可以編譯了,注意在ARM目標平台上只能編譯,要運行的話要把目標文件復制到ARM開發板上才可以.

image

6. 復制剛剛生成的目標文件到目標板,我的是”TestQt”, 把如下變量加入到目標系統的/etc/profile,讓系統能找到我們編譯好的Qt4.8.3


再運行./TestQt -qws,即可在目標板LCD上看到結果:

---------------------

再后來,基於PC的程序不能運行了,老是提示要加-qws,加入之后又提示

Error opening framebuffer device /dev/fb0

使用./configure配置重新編譯一次就解決了問題!

 

參考文章:

http://wuyuans.com/2012/11/qt4-8-3-transplant/

http://www.cnblogs.com/emouse/archive/2013/01/29/2881721.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM