一、开发环境平台
开发平台:mini2440
Linux系统:Fedora9
交叉编译器:arm-linux-4.4.3
二、移植过程
1、下载qt-everywhere-opensource-src-4.7.1.tar.gz源码包,将其放在 /opt/FriendlyARM/mini2440目录下
2、解压
进入 /opt/FriendlyARM/mini2440目录
#cd /opt/FriendlyARM/mini2440
解压
#tar zxvf qt-everywhere-opensource-src-4.7.1.tar.gz
完成后会在此处产生一个名为qt-everywhere-opensource-src-4.7.1的文件夹,进入此文件夹
#cd qt-everywhere-opensource-src-4.7.1
文件夹内还有一个名为qt-everywhere-opensource-src-4.7.1.tar.gz的压缩包,这是我们需要的,再次解压
#tar zxvf qt-everywhere-opensource-src-4.7.1.tar.gz
解压后得到一个名为qt-everywhere-opensource-src-4.7.1的文件夹,重命名为qt-4.7.1-ARM
#mv qt-everywhere-opensource-src-4.7.1 qt-4.7.1-ARM
将其拷贝到/opt/FriendlyARM/mini2440目录下
#cp -rf qt-4.7.1-ARM /opt/FriendlyARM/mini2440
#cd /opt/FriendlyARM/mini2440/qt-4.7.1-ARM
3、进行配置
为了方便,在该目录下生产一个配置脚本
#gedit autocon.sh
此时产生一个空的脚本文件,编辑其内容为:
#!/bin/sh
./configure --prefix=/usr/local/Trolltech/QtEmbedded-4.7.1-arm \
-opensource \
-confirm-license \
-release \
-shared \
-silent \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-gfx-linuxfb \
-no-gfx-transformed \
-no-gfx-multiscreen \
-no-gfx-vnc \
-no-gfx-qvfb \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-qt-freetype \
-qt-kbd-linuxinput \
-little-endian \
-host-little-endian \
-no-accessibility \
-no-scripttools \
-no-svg \
-no-qt3support \
-no-libtiff \
-no-libmng \
-no-opengl \
-no-mmx \
-no-multimedia \
-no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-phonon \
-no-qvfb \
-no-nis \
-no-cups \
-no-glib \
-no-iconv \
-no-dbus \
-no-libmng \
-no-libtiff \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples \
-nomake tools \
-nomake docs \
-nomake demo \
-make libs \
-qt-mouse-tslib \
-I/usr/local/tslib/include \
-L/usr/local/tslib/lib \
-confirm-license
exit
4、执行脚本文件autoconfig.sh
#./autoconfig.sh
5、开始进行交叉编译
#gmake
此过程花费一个多小时的诗句
6、进行安装
#gmake install
默认安装到 /usr/local/Trolltech/QtEmbedded-4.7.1-arm
7、在qt-4.7.1-ARM目录下创建一个脚本setenv-embedded.sh
#cd /opt/FriendlyARM/mini2440/qt-4.7.1-ARM
#gedit setenv-embedded.sh
输入以下内容:
#!/bin/bash
PATH=/usr/local/Trolltech/QeEmbedded-4.7.1-arm/bin:$PATH
QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.1-arm
MAINPATH=$QTDIR/man:$MAINPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATHQTDIRMAINPATHLD_LIBRARY_PATH
echo "setqt-4.7.1env.successful"
保存退出,每次进行qt4-embedded的交叉编译前先进行#source setenv-embedded.sh操作
至此,qt-4.7.1就编译完成了