qt-x11-opensource-src-4.5.2.tar.gz
qt-embedded-linux-opensource-src-4.5.2.tar.gz
b. 安裝編譯X11用到的庫:sudo apt-get libx11-dev libxext-dev
c. 安裝libxtst-dev: sudo aptitude install libxtst-dev 否則編譯qvfb出錯。
a. 在你的下載目錄中解壓qt-x11-opensource-src-4.5.2.tar.bz2
之所以要編譯x86版本的Qt,是要在PC機下模擬運行爲開發板開發出來的程序
zhangyue8624@ubuntu:~/下載$ tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2
zhangyue8624@ubuntu:~/下載$ mv qt-embedded-linux-opensource-src-4.5.2 qt embedded-linux-opensource-src-4.5.2-x86
b. 配置編譯:
zhangyue8624@ubuntu:~/下載/qt-embedded-linux-opensource-src-4.5.2-x86$ ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-x86 -embedded x86 -qvfb
zhangyue8624@ubuntu:~/下載/qt-embedded-linux-opensource-src-4.5.2-x86$ make install
export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/
export PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/lib/:$LD_LIBRARY_PATH
e. 編譯x86版QT應用程序前,先執行此腳本文件:
zhangyue8624@ubuntu:/usr/local/Trolltech/QtEmbedded-4.5.2-x86$ source setenv_x86.sh
zhangyue8624@ubuntu:~/下載/qt-x11-opensource-src-4.5.2/tools/qvfb$ make
把/qt-x11-opensource-src-4.5.2/bin/目錄下生成的qvfb複製qvfb到x86目錄下:
zhangyue8624@ubuntu:~/下載$ cp /qt-x11-opensource-src-4.5.2/bin/qvfb /usr/local/Trolltech/QtEmbedd-4.5.2-x86/bin
zhangyue8624@ubuntu:~/下載$ cd /usr/local/Trolltech/QtEmbedded-4.5.2-x86/demos/boo
qvfb -width 640 -height -480 &
apt-get install automake
apt-get install libtool
tar xzvf tslib-1.4.tar.gz
cd tslib
./configure
source autogen.sh
./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nounull=yes
make install-strip //生成瘦身應用程序和庫打包
tar czvf tslib.tar.gz tslib
tar xzvf tslib.tar.gz
e. 設置環境變量,校準觸摸屏。
在天開板終端建立腳本文件,並執行:
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_FBDEVICE=/dev/fb0
注意:觸摸屏的前提是你的觸摸屏驅動已經寫好,並加載進了內核.
你可以測試有沒有加載觸摸屏驅動,cat /dev/input/event0(這只是我的板子上的觸摸屏) ,
點擊觸摸屏,看終端有無顯示,若有則表明正確。
在開發板/usr/local/tslib/bin目錄下執行校準觸摸屏程序:
[root@FriendlyARM bin]# ./ts_calibrate
可以運行此目錄下的其他程序進行測試。
至此,觸摸屏程序能順利運行,接下來移植QtEmbedded-4.5.2,設置好環境變量。
a. 解壓
zhangyue8624@ubuntu:~/下載$ cd qt-embedded-linux-opensource-src-4.5.2-arm
zhangyue8624@ubuntu:~/下載/qt-embedded-linux-opensource-src-4.5.2-arm$ ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -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-usb -no-glib -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
c. 安裝到/usr/local/Trolltech/QtEmbedded-4.5.2-arm目錄下:
zhangyue8624@ubuntu:~/下載/qt-embedded-linux-opensource-src-4.5.2-arm$ make install
zhangyue8624@ubuntu:$/usr/local/Trolltech# tar czvf QtEmbedded-4.5.2-arm.tar.gz QtEmbedded-4.5.2-arm
export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/
export PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib/:$LD_LIBARY_PATH
f. 編譯ARM版QT應用程序前,先執行此腳本文件:
source setenv-arm.sh
[root@FriendlyARM /]# mkdir /usr/local/QtEmbedded-4.5.2/
[root@FriendlyARM /]# cd /usr/local/QtEmbedded-4.5.2/
[root@FriendlyARM QtEmbedded-4.5.2]# vi setenv-arm.sh
添加如下內容:
export QTDIR=/usr/local/QtEmbedded-4.5.2
export QPEDIR=/usr/local/QtEmbedded-4.5.2
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
/usr/local/QtEmbedded-4.5.2/analogclock -qws &
保存退出,並執行。
[root@FriendlyARM QtEmbedded-4.5.2]# mkdir lib/
[root@FriendlyARM QtEmbedded-4.5.2]# mkdir lib/fonts/
把以下的庫文件從編譯生成的QtEmbedded-4.5.2.tgz文件包的/lib複製到目標板的/usr/local/QtEmbedded-4.5.2/lib
libQtCore.so.4
libQtGui.so.4
libQtNetwork.so.4
libQtSql.so.4
把例子程序analogclock從編譯生成的QtEmbedded-4.5.2.tgz文件包的/examples/widgets/analogclock複製到目標板的/usr/local/QtEmbedded-4.5.2/
常用字庫文件從從編譯生成的QtEmbedded-4.5.2.tgz文件包的lib/fonts/複製到目標板的/usr/local/QtEmbedded-4.5.2/lib/fonts/
......
運行例子
[root@FriendlyARM QtEmbedded-4.5.2]# ./analogclock -qws
[root@FriendlyARM /]# vi /etc/init.d/rcS
在文件中加入:
/usr/local/QtEmbedded-4.5.2/setenv-arm.sh
#/bin/qtopia &
添加自動啓動。