QT库移植
开发环境
*                  虚拟机 vmware 7.0.0
*                  系统:Ubuntu 9.10
*                  交叉编译工具链:arm-2009q1
*                  开发板CPUam3517
*                  交叉编译工具链安装路径/opt/Tools/arm-2009q1
*                  移植源码存放路径:/opt/transplants
移植QT
QT是开发界面比较流行的一个软件,下面描述怎么编译QT源码生成QT库,怎么配置QT开发环境。
 
交叉编译QT需要zlib库,如使用触摸屏需要tslib库,二个库已经在附件中给出。将mytslib.tar解压在/opt目录下。
移植ZLIB
获取源码
*         zlib官网http://www.zlib.net/zlib-1.2.5.tar.gz 下载zlib-1.2.5.tar.gz源码,拷贝到/opt/transplants目录下。
修改并配置源码
*         解压源码包
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
获取源码
*         ftp://ftp.trolltech.com/qt/source/ 下载qt-everywhere-opensource-src-4.6.2.tar.gz源码,拷贝到/opt/transplants目录下。
*         解压源码包
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'
QTEDIRQTDIR为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/