基于友善之臂tiny6410+linux的QT交叉编译环境搭建

操作系统:fedora 17
开发板:友善之臂Tiny6410
gcc & g++ : 4.7.2
arm-linux-gcc & arm-linux-g++ : 4.5.1
QT: 4.6.1
QTE-i386: 4.7.0
QTE-arm: 4.7.0

1.安装编译器
直接通过网络安装gcc和g++,注意使用root用户
# yum install gcc gcc-c++

2.安装交叉编译器
使用友善之臂提供的安装包arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz
将该安装包放在/home/sunke/work 目录下
# cd /home/sunke/work
# tar zxvf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /
执行以上命令后,将把arm-linux-gcc安装到/opt/FriendlyARM/toolschain/4.5.1 目录

接着,把编译器路径加入系统环境变量,或修改单个用户的环境变量(vi /home/sunke/.bashrc )
# vi /etc/profile
在最后添加一行为
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin

注销后,检查arm-linux-gcc (包括arm-linux-g++)是否安装成功
# arm-linux-gcc -v

3.安装qt creator集成开发工具
使用友善之臂提供的安装包qt-sdk-linux-x86-opensource-2010.01.bin
该方式为图形化安装,默认安装即可,包括了qt creator 1.3.1 和 qt 4.6.1(即X11版本,PC平台运行的库)

4.编译安装QTE-i386
使用qt-everywhere-opensource-src-4.7.0.tar.gz源码包进行编译
执行以下命令将QTE-i386安装至 /usr/local/Trolltech/QtEmbedded-4.7.0-i386/

# rm -fr qt-everywhere-opensource-src-4.7.0
# rm -fr /usr/local/Trolltech/QtEmbedded-4.7.0-i386
# tar xfvz qt-everywhere-opensource-src-4.7.0.tar.gz
# cd qt-everywhere-opensource-src-4.7.0
# echo yes | ./configure -opensource -embedded x86 -xplatform qws/linux-generic-g++ -qt-libtiff -qt-

libmng -qvfb
# make && make install
# cd /usr/local/Trolltech/QtEmbedded-4.7.0-i386

5.编译安装QTE-arm
使用qt-everywhere-opensource-src-4.7.0.tar.gz源码包进行编译
执行以下命令将QTE-arm安装至 /usr/local/Trolltech/QtEmbedded-4.7.0-arm/

# rm -fr qt-everywhere-opensource-src-4.7.0
# rm -fr /usr/local/Trolltech/QtEmbedded-4.7.0-arm
# tar xfvz qt-everywhere-opensource-src-4.7.0.tar.gz
# cd qt-everywhere-opensource-src-4.7.0
# echo yes | ./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff

-qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon
# make && make install
# cd /usr/local/Trolltech/QtEmbedded-4.7.0-arm

PS:以上两步骤以做成shell,大家可以下载后与安装包放在同一目录下运行。

6.将QTE的qmake路径添加进qt creator中
点击 tools -> options -> qt4 -> qt vesions -> Browse ,添加路径分别为,版本命名为QTE-i386和QTE-arm即可
/usr/local/Trolltech/QtEmbedded-4.7.0-i386/bin/qmake
/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin/qmake

7.编写一个简单的QT程序,用默认的X11版本进行编译,运行成功
再切换默认编译器为QTE-arm,编译程序,在开发板上通过NFS运行交叉编译的程序,运行成功。

PS:友善之臂开发板已经默认移植了QTE-arm-4.7.0的运行库,所以直接运行交叉编译的程序即可,后续会编写手动移植QT运行库的文档

PS:运行QT程序前,先停止正在运行的 Qtopia-2.2.0 ,我们让其在开机不自动运行即可,
# vi /etc/init.d/rcS
将最后三行启动Qtopia的命令注释即可。。
运行QT程序时,提前需要设置环境变量,我们直接调用/bin/qt4文件(但是需要注释最后几行启动Qt4示例的命令)。
然后再运行程序 ./HellQt -qws ,运行成功。

你可能感兴趣的:(tiny6410.fedora,qt交叉编译环境)