资源描述
qt474的移植2010-11-24 10:36 1037人阅读 评论(1)收藏 举报环境介绍虚拟机:VMware_workstation_7.1.3_Lite_CR_CNLinux 环境:Fedora-14-i386-DVD交叉编译环境:arm-linux-gcc-4.3.2.tgz硬件平台:mini2440:移植步骤安装交叉编译环境由于这里使用的是QT2440管盘中提供的交叉编译工具链EABI43.3_EmbedSky_2O1OO61O.tar.bz2,放 在/opt/目录下解压主要是在解压后可以看到其中含有两个版本,由于qt4.7.0的编译必须使用345版本所以在设置交叉 编译的路径的时候使用的是在/etc/profile中加入export PATH=/opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin:$PATH安装 tslib 1.41. 下载tslib1.4,解压到/home下2. 进入解压的目录运行执行./autogen.sh3. 执行./con figure prefix=/opt/tslib/ -host=arm-li nux ac_cv_func_malloc_0_nonnull=yes,经过一段时间的编译4. 执行make5. 执行 make in stall5.修改/opt/tslib/etc/ts.co nf,把第二行的#号去掉(这样做的主要目的是为了在移植到板子上的时 候,可以制定输入模块)把# module_raw collie前面的“#”号去掉,然后把该行移至行首,最后我的配置文件如下:1. module_rawcollie2. modulepthrespmin=13. modulevariancedelta=304. moduledejitterdelta=1005. modulelinear6. 在/etc/profile 中加入export PATH=/opt/tslib:$PATH (/opt/tslib 为上面prefix=/opt/tslib/ 所设的 tslib1.4 的安装目录)编译吐474-arm1. 将 qt-everywhere-opensource-src-4.7.4.tar.gz 压缩包放在/opt 下,解压,重命名:2. 在工作目录/opt/FriendlyARM/mini2440 中执行:3. #cd /opt/FriendlyARM/mini2440#tar xvzf qteverywhereopensourcesrc4.7.4.tar.gz#cd /opt#tar zxvf qteverywhereopensourcesrc4.7.4 .t ar.gz#mv qteverywhereopensourcesrc4.7.4 qt4.7.4arm#cd qt- 4.7.4arm2. 开始进行配置选项./configure -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 /opt/tslib/include -L /opt/tslib/lib -confirm-license $3. #gmake开始进行交叉编译gmake此过程要一个多小时4. #gmake install在交叉编译成功后运行gmake install安装,这里会默认安装到 /usr/local/Trolltech/QtEmbedded-4.7.4-arm5. 在 qt-4.7.4-arm 目录里面建立 setenvembedded.sh#gedit setenvembedded.sh输入以下:#!bin/bashPATH二/usr/local/Trolltech/QtEmbedded-4.7.4-arm/bin:$PATHQTDIR二/usr/local/Trolltech/QtEmbedded-4.7.4-armMAINPATH=$QTDIR/man:$MAINPATHLD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport PATHQTDIRMAINPATHLD_LIBRARY_PATHecho se tqt-4.7.4env.successful保存退出,每次进行qt 4embedded的交叉编译前先# source set envembedded.sh5.这个时候qte的编译就成功了制作根文件系统(移植到开发板)(可以通过挂载,然后在拷贝)1.移植tslib,将主机中的/opt/tslib拷贝到根文件系统(mini2440开发板)中的/opt/下面如:#mount -t nfs -o intr,nolock,wsize=1024,rsize=1O24 192.168.1.180:/opt/studyarm/rootfs /mnt#cp -r /mnt/tslib /opt/备注:在挂载前已将主机中的/opt/tslib拷贝到了/opt/studyarm/rootfs2. 移植 qte4.7.4 将主机/usr/local/Trolltech/QtEmbedded-4.7.4-arm 下面的 lib 文件夹拷贝到根文件 (mini2440开发板)中的相同目录下(必需得先创建相应的目录mkdir-p/usr/local/Trolltech/QtEmbedded-4.7.4-arm)如:#mkdir -p /usr/local/Trolltech/QtEmbedded-4.7.4-arm#cp - /mnt/lib /usr/local/Trolltech/QtEmbedded-4.7.4-arm备注:需在挂载前已将主机中的/usr/local/Trolltech/QtEmbedded-4.7.4-arm下面的lib拷贝到了/opt/studyarm/rootfS3. 增加新的显示中文的字体wenquanyi放到上面的/lib/fonts目录下。删除其他不需要的字体4. 拷贝 /usr/local/Trolltech/QtEmbedded-4.7.0-arm/plugins 目录到根文件系统中的 /usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib/ 目录下5. 修改profile文件添加环境变量export TSLIB_TSDEVICE=/dev/input/eventOexport LD_LIBRARY_PATH=/opt/tslib/lib:$LD_LIBRARY_PATHexport TSLIB_FBDEVICE=/dev/fbOexport TSLIB_PLUGINDIR=/opt/tslib/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_CONFFILE=/opt/tslib/etc/ts.confexport POINTERCAL_FILE=/etc/pointercalexport TSLIB_CALIBFILE=/etc/pointercalexport QWS_MOUSE_PROTO=TSLIB:/dev/input/eventOexport QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-armexport PATH=$QTDIR/bin:$PATHexportLD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$DTDIR/lib/plugins/imageformats:$LD_LIBRARY_PATHexport QT_PLUGIN_PATH=/usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib/pluginsexport QWS_KEYBOARD=TTY:/dev/ttylexport KDEDIR=/opt/kdeexport HOME=/root6. 保存退出后执行#source /etc/profile 更新/etc/profile测试运行此时的移植已经基本完成,可以将在ubuntu中编译好的文件放到板子上运行就可以了如: ./test -qws测试举例:在主机终端上进入所要编译的工程文件夹,然后依次输入:#source /opt/qt-4.7.4-arm/qt-4.7.4-setenv.sh#make clean#qmake project#qmake#make之后的到mini2440可执行的文件,下载到板子上输入./* -qws
展开阅读全文