开发环境
虚拟机 vmware 7.0.0
系统:Ubuntu 9.10
交叉编译工具链:arm-2009q1
开发板CPU:am3517
交叉编译工具链安装路径/opt/Tools/arm-2009q1
移植源码存放路径:/opt/transplants
移植QT
QT是开发界面比较流行的一个软件,下面描述怎么编译QT源码生成QT库,怎么配置QT开发环境。
交叉编译QT需要zlib库,如使用触摸屏需要tslib库,二个库已经在附件中给出。将mytslib.tar解压在/opt目录下。
移植ZLIB
获取源码
修改并配置源码
解压源码包
Host# cd /opt/transplants
Host# tar zxvf zlib-1.2.5.tar.gz
解压后生成目录zlib-1.2.5。
进入目录后进行配置
Host# CC=arm-none-linux-gnueabi-gcc ./configure -shared --prefix=/zlib-1.2.5
编译并安装源码
编译安装
Host# make
Host# make install
成功后在/opt目录下生成zlib-1.25目录,将里面内容拷贝到交叉编译工具链opt/Tools/arm-2009q1/arm-none-linux-gnueabi/libc/usr目录下,为编译QT做准备。
Host# cp /zlib-1.25/** /opt/Tools/arm-2009q1/arm-none-linux-gnueabi/libc/usr –raf
移植QT
获取源码
解压源码包
Host# cd /opt/transplants
Host# tar zxvf qt-everywhere-opensource-src-4.6.2.tar.gz
解压后生成目录qt-everywhere-opensource-src-4.6.2。
修改交叉编译工具链配置文件qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-arm-g++/qmake.conf
Host# vi qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-arm-g++/qmake.conf
修改内容如下
QMAKE_CC = arm-none-linux-gnueabi-gcc
QMAKE_CXX = arm-none-linux-gnueabi-g++
QMAKE_LINK = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy
QMAKE_STRIP = arm-none-linux-gnueabi-strip
load(qt_config)
进入目录后进行配置
Host# cd qt-everywhere-opensource-src-4.6.2
Host# ./configure -v -prefix /opt/qt-4.6.2 -platform qws/linux-x86-g++ -xplatform qws/linux-arm-g++ -I/opt/mytslib/include/ -L/opt/mytslib/lib/ -embedded arm -qt-mouse-pc -plugin-mouse-pc -qt-kbd-linuxinput -qt-kbd-tty -qt-gfx-vnc -qt-mouse-tslib -plugin-mouse-tslib
NOTE:-I/opt/mytslib/include/选项指定tslib头文件路径 -L/opt/mytslib/lib/指定tslib库路径。
运行后出现如下选项
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition
输入 o 后,运行出现如下选项
Type '3' to view the GNU General Public License version 3.
Type 'L' to view the Lesser GNU General Public License version 2.1.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.
输入yes后运行,配置时间大约有十分钟。
编译
Host# make
NOTE:这一过程较长,一般为3小时左右。编译
安装
Host# make install
执行完毕后在目录/opt下生成目录qt-4.6.2,有94M。移植完毕。
移植库到文件系统
将目录qt-4.6.2拷贝到开发板文件系统/opt目录下。
配置环境变量
添加如下内容
export QTEDIR=/opt/qt-4.6.2
export QTDIR=/opt/qt-4.6.2
export LD_LIBRARY_PATH=$QTDIR/lib:/lib/:/usr/local/mytslib/lib
export PATH=$QTDIR/lib:$QTDIR/bin:$PATH
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export QWS_MOUSE_PROTO='TSLIB:/dev/input/event2'
QTEDIR和QTDIR为QT库所在目录,保存退出。
执行如下命令,配置生效。
Target# source /etc/profile
搭建QT开发环境
在主机上编译QT程序主要使用到交叉工具链以及QT库中的qmake工具。
建立软链接
#ln -s /opt/qt-4.6.2/bin/qmake /usr/bin/qmake
执行如下命令:
#qmake -v
配置成功会出现以下内容:
QMake version 2.01a
Using Qt version 4.6.2 in /opt/qt-4.6.2/