1.建立交叉编译环境
(1)解压交叉编译工具
tar zxvf arm-linux-gcc-2.95.3.tar.gz
(2)修改脚本文件
vi /etc/profile
在#Path manipulation下增加pathmunge /usr/local/arm/2.95.3/bin
注意:A.交叉工具解压后一定要放在/usr/local/arm下
B.可能bin不在这个位置,这时需要在2.95.3目录下找到正确路径添加
(3)执行脚本文件
source /etc/profile
(4)检查交叉编译工具是否装上
arm-linux-gcc -v
看打印的版本号是否为安装的正确版本,例如这里为gcc version 2.95.3,正确的话就表示安装上了
注意:安装多个交叉编译工具后,要在/etc/profile脚本中注释掉(用#)装上了暂不使用的交叉编译工具,只留下准备使用的交叉编译工具
2.交叉编译Qt库
(1)解压交叉编译工具(解压到想要安装Qte的目录下,例如:cd /home/workspace,并进入该路径)
tar jxvf qt-embedded-free-3.2.1.tar.bz2
(2)将解压后的文件夹qt-embedded-free-3.2.1改名为qte
mv qt-embedded-free-3.2.1 qte3 这里只是把文件名改短,为了方便设环境变量,此步可以省略
(3)编写shell,改变环境变量(库的编译环境)
# vi qte.sh
QTEDIR=/home/workspace/qte3 (如果qte.sh所在目录即为home/workspace/qte3,可以改为QTEDIR=$PWD)
QTDIR=$QTEDIR
PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTEDIR QTDIR PATH LD_LIBRARY_PATH
#source qte.sh
可以通过echo $PATH来看路径有没有加上来判定环境变量是否更改成功
(3)配置Qt库
./configure -h|more 查看相关的配置
配置
./configure -prefix /mnt/qte -platform qws/linux-x86-g++ -xplatform qws/linux-arm-g++ -fast -no-cups -depths 4,8,16.32 -qt-gif
(4)make sub-src(这里只编译库,如果要全部编译直接make就可以了)
(5)make install(把库安装到-prefix所指定的文件中)
3.可以编写一个环境脚本,并交叉编译测试程序
# vi envqte.sh
QT3DIR=/home/workspace/qt3
QTEDIR=/home/workspace/qte3
QTDIR=$QTEDIR
PATH=$QTDIR/bin:$QT3DIR/bin:$PATH
QMAKESPEC=$QTDIR/mkspecs/qws/linux-generic-g++
(for arm:QMAKESPEC=$QTDIR/mkspecs/qws/linux-arm-g++)
LD_LIBRARY_PATH=$QTDIR/lib:$QT3DIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH QMAKESPEC LD_LIBRARY_PATH
# source envqte.sh
4.将Qt库,测试程序添加到根文件系统中去
5.用mkyaffsimage生成*.img的文件系统
mkyaffsimage 根文件名 根文件名.img
6.将*.img烧写到板子上,并启动程序
7.测试程序
若要使用触摸屏还要在开始的时候交叉编译tslib-1.3,还要在第6步后设置tslib的环境变量,并校准和测试标准是否正确