2008年4月30日 星期三

Porting Qtopia 4.3.3

這次編譯還算順利,參考人家編譯過的經驗.
Hardware: III PXA270 Platform
Software: QT-X11, Qtopia 4.3.3, Cross-Compile 3.3.6

Install QT-X11 in Ubuntu
sudo apt-get install qt-x11-free-dbg
使用到的執行檔都會安裝到/bin底下,編譯Qtopia的時候就會自行取用

Install Qtopia
下載 qtopia-core-opensource-src-4.3.3.tar.gz
解壓縮到/opt底下
改個名字 mv /opt/qtopia-core-opensource-src-4.3.3 /opt/qtopia
把Toolchain路徑加到$PATH
export QTDIR=/opt/qtopia
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
開始編譯
./configure -embedded arm -xplatform qws/linux-arm-g++ -qt3support -depths 16 -qt-libjpeg -qt-mouse-linuxtp -no-stl
make
-xplatform參數對應到所使用的toolchain,若使用不同的請到./qtopia/mkspecs/qws/linux-arm-g++/qmake.conf去修改
我使用P4 HT 3.2G 大概要40分鐘

完成後,所需要的library都在qtopia/lib底下包括font檔
libQt3Support.so.4.3.3
libQtCore.so.4.3.3
libQtGui.so.4.3.3
libQtNetwork.so.4.3.3
libQtScript.so.4.3.3
libQtSql.so.4.3.3
libQtSvg.so.4.3.3
libQtXml.so.4.3.3
包含link也一併copy起來.我是用隨身碟來存放,格式化成ext3格式就可以存link了
接著再拿./qtopia/example下的範例程式測試

記得在target上執行時要先link一下路徑,因為執行程式的時候會去target上的/opt/qtopia/lib找library
另外我還出了一個錯誤:
QFontDatabase: Cannot find font directory /usr/local/Trolltech/QtopiaCore-4.3.3-arm/lib/fonts - is Qt installe?
"/usr/local/Trolltech/QtopiaCore-4.3.3-arm"算是他預設的安裝路徑,不知道為什麼沒改變? 可能是configure的時候要加prefix參數吧? 沒關係一樣用個link就可以解決

執行起來沒什麼問題,畫面明顯比QT3好看(是錯覺嗎?)
另外我使用背景執行一次開兩個視窗是可以顯示,不過畫面卻不是很理想.

ref:
QT、QPE、Qtopia、Qt/Embedded、Qtopia Core 究竟是什麼?
小弟在Xscale PXA255上移植qtopia 4的經驗
qtopia-opensource-4.2.0交叉編譯記錄
configure參數中文解說

1 意見:

生蛋 提到...

請問一下
我現在已經做到最後一個步驟
就是要執行編譯好的執行檔了
可是卻一直出現
QFontDatabase: Cannot find font directory /usr/local/Trolltech/QtopiaCore-4.3.3?

文章裡提到可以用link的方式
請問要怎樣link呢