准备:
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 &
提供一个字体库: http://bbs.embedsky.net/viewthread.php?tid=7123&extra=
--------------------------------
安装tslib出现错误解决:
首先看有没安装g++
接着看有安装下面工具没
apt-get install autoconf(或autoconf2.13)
apt-get install automake
apt-get install libtool