Linux之Qt4.7.0移植----Ubuntu10.10


准备:

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.bkjia.com/

用户名与密码都是www.bkjia.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

相关内容