Linux下实现Qt 4.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 &
提供一个字体库: http://bbs.embedsky.net/viewthread.php?tid=7123&extra=
小结:关于Linux下实现Qt 4.7.0移植 (Ubuntu10.10篇)的内容介绍完了,希望本文对你有所帮助。更多关于移植的内容请参考编辑推荐。