我們提供的 qtopia-2.2.0 源碼包位於 linux\linux-source\qtopia-2.2.0-Real6410.tar.bz2,解壓這個源碼包到 Ubuntu 的主目錄下,得到 qtopia-2.2.0-Real6410,進入 qtopia-2.2.0-Real6410
目錄運行以下配置:
echo yes | ./configure -qte '-embedded -no-xft -qconfig qpe -depths 16,32 -system-jpeg -qt-zlib -qt-libpng -gif -no-g++-exceptions -no-qvfb -xplatform linux-arm-g++ -tslib' -qpe 'edition pda -displaysize 480x272 -fontfamilies "helvetica fixed micro smallsmooth smoothtimes unifont" -xplatform linux-arm-g++ -luuid' -qt2 '-no-opengl -no-xft' -dqt '-no-xft -thread'
這樣便完成了對 qtopia 的配置,這裡可以根據實際使用的 LCD 尺寸修改 displaysize 這個參數。接下來輸入
make
make install
便可以完成對 qtopa 的編譯和安裝,安裝結果就在 qtopia-2.2.0-Real6410/qtopia/image/opt/Qtopia 下面,為了簡化這個過程,我們提供了一個腳本 build 完成上面的幾個步驟,在該目錄下運行./build 即可。
注意:有些用戶反映在 Ubuntu-9.10 下編譯 qtopia-2.2.0 失敗,我也相應地做了一下試驗,的確有這個問題出現,這是由於主機環境 Ubuntu 中有相當多的庫函數沒有預裝,我在編譯 qtopia-2.20 的時候使用的是 Redhat AS4 的完全安裝版,因此編譯過程沒有出現問題。
建議要進行 qtopia-2.2.0 編譯的最好切換到 Redhat AS4 中進行。而在 Ubuntu 中編譯 QT4 是沒有問題的。
Qtopia-2.2.0 在開發板上的運行
上一步得到了 qtopia-2.2.0-Real6410/qtopia/image/opt/Qtopia/opt 這個結果,這裡面實際上包含了所有的應用程序。接著就要把這些代碼放到板子的根文件系統中,這裡不建議初學的讀者從零開始建立一個根文件系統,而直接使用我們在光盤中提供的 linux\linux-source\qtopia.tar.gz
在 Ubuntu 主目錄下新建一個目錄 rootfs_qtopia,並把上面的源碼包解壓這個目錄,這樣講看到這個目錄下有一個 opt 目錄,這實際上就是編譯 qtopia 後得到的 opt 目錄,因此,直接把 qtopia 編譯得到的 qtopia-2.2.0-Real6410/qtopia/image/opt 整體復制到 rootfs_qtopia 目錄下代替原來的 opt 目錄,這樣自己的 qtopia 就算安裝好了。
接著就要設置好 Qtopia 的運行環境變量,環境變量的設置如下:
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=/usr/local/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export QTDIR=/opt/Qtopia
export QPEDIR=/opt/Qtopia
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
export QWS_MOUSE_PROTO="TPanel:/dev/input/event1"
# USB:/dev/input/mice"
export QWS_KEYBOARD=TTY:/dev/tty1
export KDEDIR=/opt/kde
export HOME=/root
exec $QPEDIR/bin/qpe
我們已經在板子的根文件系統的/bin/下提供了一個名為 qtopia 的可執行腳本來設置上面的參數,並啟動 qtopia。默認下這個腳本會在初始化的時候被執行,用戶也可以通過運行qtopia 這個命令來執行這個腳本。
Qtopia-2.2.0 ARM程序的開發
1。配置環境變量:source set-arm-env
export QPEDIR=/usr/qtopia-2.2.0-Real6410/qtopia
export QTDIR=/usr/qtopia-2.2.0-Real6410/qt2
export TMAKEDIR=/usr/qtopia-2.2.0-Real6410/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
export LIBDIR=/usr/qtopia-2.2.0-Real6410/qtopia/image/opt/Qtopia/lib
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
export LD_LIBRARY_PATH=/usr/qtopia-2.2.0-Real6410/qtopia/image/opt/Qtopia/lib:$LD_LIBRARY_PATH
2。新建程序hello.cpp,編寫程序
3。progen -t app.t -o hello.pro
4.tmake -o Makefile hello.pro
5.修改Makefile
LIBS = $(SUBLIBS) -L$(LIBDIR) -lm -lqte -lstdc++
6.make
7.新建hello.desktop, 並添加執行權限chmod +x hello.desktop
[Desktop Entry]
Comment[]=A Hello Program
Exec=hello
Icon=Hello
Type=Application
Name[]=Hello
8.復制hello.desktop到開發板Qtopia安裝目錄的apps/Applications目錄下,復制hello到開發板Qtopia安裝目錄的bin下,重啟開發板即可運行程序。