准備:
1.Qt源碼包 qt-everywhere-opensource-src-4.7.0-beta2.tar.gz
2.交叉編譯器 天嵌的EABI-4.3.3_EmbedSky_20100610.tar.bz2(選用4.3.3)
3.觸摸屏校驗工具:tslib-1.4.tar.gz
4.開發板4.3寸的TQ2440(內核天嵌自帶的root_qtopia_2.2.0_2.6.30.4_20100601.tar.bz2)
-------------------------------------------------------------
編譯安裝:
1.首先安裝交叉編譯器EABI-4.3.3_EmbedSky_20100610.tar.bz2(這個很容易,不多說了)
2.接著安裝tslib-1.4.tar.gz,這個也比較容易(參考上篇的,注意的是Ubuntu可能要先安裝安裝g++:sudo apt-get g++)
3.接著再編譯安裝arm版Qt,首先配置如下:
./configure -prefix /opt/EmbedSky/qt-4.7-arm -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia -no-svg -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -confirm-license "$@"
然後編譯make,最後安裝make install
-------------------------------------------------
Qt移植:
1.首先把/opt/EmbedSky/qt-4.7-arm下的庫lib,全部拷到開發板新建目錄/usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib下
2.接著把安裝完後tslib目錄下的東西全部拷到開發板的/usr/local/tslib下
3.配置環境:vi /etc/profile,添加如下:
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
export TSLIB_ROOT=/usr/local/tslib
export PATH=$QTDIR/bin:$PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export QWS_DISPLAY=LinuxFb:/dev/fb0
export QWS_SIZE=480x272
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
保存,立即生效:source /etc/profile
4.拷貝程序到開發板你想要的位置,運行測試程序:./test_hello -qws
----------------------------------------------------------------------
如果要關閉Qtopia,可以修改/etc/init.d/rcS
注釋掉其中一行如下:
#qtopia &
如果要開機就運行自己的程序可在/etc/init.d/rcS添加如下內容:
export set HOME=/root
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export QWS_DISPLAY=LinuxFb:/dev/fb0
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
test_hello -qws &
注意上面test_hello要放到/sbin/下
------------------------------------------------------------------------------
提供一個好的方法:用nfs掛載根文件系統,這樣根文件系統在自己的pc上,想拷貝文件也容易多了,主要是錯了,不想用了,不用燒寫它,直接再解壓一份出來就行了。
注意:nfs掛載時出現問題時,先看參數設置是否正確,不行的話接著要把/etc/init.d/rcS裡的一行東西注釋掉:#net_set &
提供一個QT文泉譯字庫:
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /pub/2011/11/17/Linux之Qt4.7.0移植----Ubuntu10.10/QT文泉譯字庫/
--------------------------------
安裝tslib出現錯誤解決:
首先看有沒安裝g++
接著看有安裝下面工具沒
apt-get install autoconf(或autoconf2.13)
apt-get install automake
apt-get install libtool