顯示具有 Linux:GUI 標籤的文章。 顯示所有文章
顯示具有 Linux:GUI 標籤的文章。 顯示所有文章

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參數中文解說

QT4 with IDE

之後要在Linux上寫視窗程式,先來熟悉一下開發介面.
QT與GTK+我會選擇QT,他有專屬的QT-Disigner-一套可以用拖曳來編輯介面的開發軟體,還可以設定屬性,事件...由於介面與程式碼要分開寫,所以還需另外一套利器QDevelop,這也是專門用來開發QT4程式的,他可以直接compile, test, debug, 免去key指令的步驟.

同樣是API,GTK+的我真不太會用,gtkmm算是把GTK再包裝一層,是不是比較人性化? 而GTK也有graphical user interface builder - Glade,有機會再來用用看.

在Ubutnu下使用APT安裝QT4sudo apt-get install libqt4-core libqt4-debug libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql qt4-designer qt4-doc qt4-qtconfig
剛裝好我還真的不知道qt-designer怎麼叫出來,原來是直接打指令 designer
qt4-qtconfig 是用來設定視窗介面的style
qtdemo 可以看到展示
assistant 可以叫出QT的教學電子書

QDevelop請到官網下載,他有for Ubuntu的package
安裝好以後在選單上就可以看到了,開啟以後介面是中文的,不過他的文字相當模糊而且像是對岸翻譯出來的,建議使用英文介面,下達指令 qdevelop -l en 即可. 第一次使用可以參考Quick Start

透過這些工具很輕易就可以建立起一隻視窗程式. 再來就試著移植到arm的平台上.

ref:
What's New in Qt 4 譯: A Taste of Qt 4─Qt 4 初體驗
永遠的UNIX-介紹X Programming, GUI Library, GUI Toolkit