1、QT 4.5.2向2440版移植全过程,自己全程测试过了 开发环境 操作系统: Vmware6.0 + Ubuntu 8.04。 交叉编译器:arm-linux-gcc-4.3.2 目标板: mini2440 + NEC3.5寸屏 1、下载源码包: 在:ftp:// qt-embedded-linux-opensource-src-4.5.2.tar.bz2 qt-x11-opensource-src-4.5.2.tar.bz2 在 2、配置ubuntu 8.04编译环境
2、 安装g++: sudo apt-get g++ 安装编译X11用到的库:sudo apt-get libx11-dev libxext-dev 安装libxtst-dev: sudo aptitude install libxtst-dev 否则编译qvfb出错。 3、编译及安装qt-x11-opensource-src-4.5.2 qt-x11版本可以产生Qt开发工具,如designer、qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发 板,也可以开发Qt应程序。 tar xjvf qt-x11-op
3、ensource-src-4.5.2.tar.bz2 cd qt-x11-opensource-src-4.5.2 ./configure make make install 历经漫长的编译过程,默认安装在/usr/local/Trolltech/Qt-4.5.2下,编译完成后源程序不要删除,还有用。 4、编译配置QtEmbedded-4.5.2-x86版本 A、解压 root@hrixin-desktop:/work/qte# tar xjvf qt-embedded-linux-opensource-src-4
4、5.2.tar.bz2 root@hrixin-desktop:/work/qte# mv qt-embedded-linux-opensource-src-4.5.2 qt-embedded-linux-opensource-src-4.5.2-x86 root@hrixin-desktop:/work/qte# cd qt-embedded-linux-opensource-src-4.5.2-x86 B、配置编译: ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-x8
5、6 -embedded x86 -qvfb root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-x86# make C、安装到/usr/local/Trolltech/QtEmbedded-4.5.2-x86目录下: root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-x86# make install D、建立脚本文件:setenv_arm.sh,输入以下内容:
6、 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应用程序前,先执行此脚本文件: root@hrixin-desktop:/usr/local/Troll
7、tech/QtEmbedded-4.5.2-x86# source setenv-x86.sh 5、编译安装tslib1.4 A、安装编译过程需用到的程序 root@hrixin-desktop:/home/hrixin# apt-get install autoconf(或autoconf2.13) root@hrixin-desktop:/home/hrixin# apt-get install automake root@hrixin-desktop:/home/hrixin# apt-get instal
8、l libtool B、配置编译 root@hrixin-desktop:/work/qt# tar xzvf tslib-1.4.tar.gz root@hrixin-desktop:/work/qt# cd tslib 生成./configure root@hrixin-desktop:/work/qt/tslib# source autogen.sh root@hrixin-desktop:/work/qt/tslib# ./configure --prefix=/usr/l
9、ocal/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes root@hrixin-desktop:/work/qt/tslib# make C、安装 root@hrixin-desktop:/work/qt/tslib# make install-strip //生成瘦身应用程序和库 打包 root@hrixin-desktop:/usr/local# tar czvf tslib.tar.gz tslib D、复制到NFS文件
10、系统/usr/local目录下解压 root@hrixin-desktop:/work/root_qtopia/usr/local# 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
11、conf export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_FBDEVICE=/dev/fb0 export QWS_MOUSE_PROTO=Tslib:/dev/input/event0 注意:触摸屏的前提是你的触摸屏驱动已经写好,并加载进了内核. 你可以测试有没有加载触摸屏驱动,cat /dev/input/event0(这只是我的板子上的触
12、摸屏) , 点击触摸屏,看终端有无显示,若有则表明正确。 在开发板/usr/local/tslib/bin目录下执行校准触摸屏程序: [root@FriendlyARM bin]# ./ts_calibrate 可以运行此目录下的其他程序进行测试。 至此,触摸屏程序能顺利运行,接下来移植QtEmbedded-4.5.2,设置好环境变量。 6、编译安装QtEmbedded-4.5.2-arm版本 A、解压 root@hrixin-desktop:
13、/work/qte# tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2 root@hrixin-desktop:/work/qte# mv qt-embedded-linux-opensource-src-4.5.2 qt-embedded-linux-opensource-src-4.5.2-arm root@hrixin-desktop:/work/qte# cd qt-embedded-linux-opensource-src-4.5.2-arm B、配置编译: ./configur
14、e -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 t
15、ools -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 -
16、I/usr/local/tslib/include -L/usr/local/tslib/lib 注意这个目录要跟你的tslib安装目录相同!!! root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm# make C、安装到/usr/local/Trolltech/QtEmbedded-4.5.2-arm目录下: root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5
17、2-arm# make install D、打包编译安装好的QtEmbedded库文件: root@hrixin-desktop:/usr/local/Trolltech# tar czvf QtEmbedded-4.5.2-arm.tar.gz QtEmbedded-4.5.2-arm E、建立脚本文件:setenv_arm.sh,输入以下内容: export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/ export PATH=/usr/local/Trolltech/QtEm
18、bedded-4.5.2-arm/bin/:$PATH export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib/:$LD_LIBRARY_PATH F、编译ARM版QT应用程序前,先执行此脚本文件: root@hrixin-desktop:/usr/local/Trolltech/QtEmbedded-4.5.2-arm# source setenv-arm.sh 编译calculator root@hrixin-desktop:/work/qt/
19、qt-embedded-linux-opensource-src-4.5.2-arm/examples/widgets/calculator# calculator.pro root@hrixin-desktop:/work/qt/qt-embedded-linux-opensource-src-4.5.2-arm/examples/widgets/calculator# make 7、在主机上建立NFS启动根文件系统,把编译好的库文件复制到相关目录下。 A、文件系统目录为:/work/root_qtopia/,修改rcS [root@FriendlyA
20、RM /]# vi /etc/init.d/rcS #/bin/qtopia & 建立Trolltech目录: root@hrixin-desktop:/work/root_qtopia/usr/local# mdkir Trolltech B、把打包好的库文件:QtEmbedded-4.5.2-arm.tar.gz复制到/work/root_qtopia/usr/local/Trolltech目录下 root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech# t
21、ar xzvf QtEmbedded-4.5.2-arm.tar.gz root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech# cd QtEmbedded-4.5.2-arm/ C、复制5-F中编译好的calculator可执行文件到此目录下: root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech/QtEmbedded-4.5.2-arm# cp /work/qt/qt-embedded-linux-opensource-src-
22、4.5.2-arm/examples/widgets/calculator/calculator ./ D、建立脚本文件 root@hrixin-desktop:/work/root_qtopia/usr/local/Trolltech/QtEmbedded-4.5.2-arm# gedit setenv.sh 输入以下内容:(把设置tslib环境变量的脚本文件内容,也添加进来) #!/bin/sh export TSLIB_ROOT=/usr/local/tslib export TSLIB_TSDEV
23、ICE=/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 export QWS_MOUSE_PROTO=Tslib:/dev/input/event0 export QTDIR=/usr/
24、local/Trolltech/QtEmbedded-4.5.2-arm export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-arm export LD_LIBRARY_PATH=$QTDIR/lib:$TSLIB_ROOT/lib:/usr/local/lib:$LD_LIBRARY_PATH E、至此,主机上的文件系统已经配置好,开板通过NFS挂载到此文件系统启动。 启动后,开发板串口终端执行刚才的脚本文件(通过NFS启动,执行脚本文件未成功),设置好环境变量。 检查环境变量是否成功: [root@FriendlyARM QtEmbedded-4.5.2-arm]# echo $QTDIR /usr/local/Trolltech/QtEmbedded-4.5.2-arm 成功! 如果没有输出,则失败。同样的方法检查其他两个环境变量。 F、运行calculator [root@FriendlyARM QtEmbedded-4.5.2-arm]# ./calculator -qws & 最后不记得从哪里转过来的了。找到的人记得帮我加上啊!希望对大家有点帮助吧!






