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


1移植准备

1.1编译所需环境和资源

1.      Qt源码包:Qt4.6源码包 :qt-everywhere-opensource-src-4.6.3.tar.gz

2.      交叉编译工具:arm-linux-gcc-4.4.3-20100728.tar

3.      触摸屏校验工具 :tslib-1.4.tar.gz

4.      PC运行的OS 环境:Ubuntu10.10

5.  mini2440开发板

1.2安装交叉编译器

u      把交叉编译工具包放到根目录下,执行命令如下:

tar zxvf arm-linux-gcc-4.4.3-20100728.tar –C /

u      解压后产生一个目录:/opt/FriendlyARM/toolschain/4.4.3,进入该目录,进入bin目录,执行命令如下:

pwd>>/root/.bashrc

u      接着执行命令如下:

    vi /root/.bashrc

然后修改最后一行:export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH

u      为了使配置的环境立即生效,接着执行如下命令:

    source /root/.bashrc

u      查看版本信息,执行命令:

arm-linux-gcc –v

u      出现正确版本,说明配置交叉编译器成功。

1.3 安装触摸屏校验工具

n        tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:

tar zxvf tslib-1.4.tar.gz

n        执行命令cd tslib,进入tslib当前目录,接着执行命令如下:

Source autogen.sh

n        然后接着执行配置命令:

./configure     --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

n         最后执行编译命令和安装命令如下:

make

make install

n         如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。

1.4 编译Qt-4.6.3库文件

n         qt-everywhere-opensource-src-4.6.3.tar.gz放到/opt目录下。接着执行命令如下:

tar zxvf qt-everywhere-opensource-src-4.6.3.tar.gz

n        接着把解压出来的目录重名成qt-embeded-4.6.3-arm,执行命令如下:

mv qt-everywhere-opensource-src-4.6.3.tar.gz qt-embedded-4.6.3-arm

n        进入qt-embedded-4.6.3-arm,然后执行配置命令,命令如下:

./configure -prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm -opensource -confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-g++ -depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2 -no-3dnow -no-webkit -no-qvfb -no-phonon -no-nis -no-opengl -no-cups -no-glib -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -nomake examples -nomake tools -nomake docs -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

n        接着继续执行编译和安装命令,命令如下:

make

make install

n        以上都成功的话,就会在目录/usr/local/Trolltech/QtEmbedded-4.6.3-arm下看到基于ARM处理平台的Qt库文件。

2开始移植

2.1移植库到mini2440开发板

n        在开发板上建立目录如下:

/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin

/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts

/usr/local/tslib

n        复制所需运行库

把在pc机上编译好的库/usr/local/Trolltech/QtEmbedded-4.6.3/lib/下的所有文件全部复制到 /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/

n        复制触摸屏软件

把在pc机上编译安装好/usr/local/tslib/目录下的所有文件都复制到开发板/usr/local/tslib/下。

2.2mini2440建立环境变量

n         用命令执行:vi /etc/profile,在里面增加如下内容:

export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm

export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-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/input/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/input/event0

export QWS_DISPLAY=LinuxFb:/dev/fb0

export QWS_SIZE=240x320

export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

 

n        修改mini2440/usr/local/tslib/etc/ts.conf 文件:把第二行# module_raw input 前面的#和空格去除,保存退出。

2.3移植实现

n         首先在pc机上编译,进入程序(test_hello)目录,然后执行命令如下:

/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/qmake

<FONT style="FONT-SIZE: 10.5pt" face=""">

n         然后执行编译命令:make

n         执行完后,用命令:file test_hello 是否为二进制文件。如果是,则说明编译成功,可以移植到mini2440开发板了。

把编译好的程序test_hello通过u盘复制到开发板/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/目录下

n         然后通过终端执行./test_hello –qws –fonts wenquanyi,如果开发板出现自己的程序说明执行成功。

相关内容