容性问题,crosstool-0.42中这个文件gcc-3.3.2-glibc-2.3.2.dat,已经修正 。
arm.dat整合了编译ARM的相关参数 。
arm.sh是执行编译的脚本 。
5.下载本文章相关的资源文件gcc-3.3.2-arm-softfloat.patch.bz2,这是一个
浮点运算的补丁 。将解压缩的gcc-3.3.2-arm-softfloat.patch复制到
crosstool-0.28-rc37/patches/gcc-3.3.2下 。再把crosstool-0.28-rc37/patches/gcc-3.3.2/
下gcc-3.3.2-arm-bigendian.patch 移动到crosstool-0.28-rc37/patches/gcc-3.3.2/feature/下 。
6.根据gcc-3.3.2-glibc-2.3.2.dat相关内容下载,下载地址同《E680G开发一》
所述 。并在crosstool-0.28-rc37下创建目录downloads,将这些文件移过去 。
binutils-2.15.tar.bz2
gcc-3.3.2.tar.bz2
glibc-2.3.2.tar.bz2
glibc-linuxthreads-2.3.2.tar.bz2
linux-2.4.20.tar.bz2
7.设置环境变量export TOOLCHAIN_DIR=/home/gcc/toolchain
修改arm.sh中TARBALLS_DIR=$TOOLCHAIN_DIR/crosstool-0.28-rc37/downloads
修改arm.sh中RESULT_TOP=$TOOLCHAIN_DIR
这两个一是指定编译使用相关包的位置,另外则是指定编译后的路径 。完成这些后,
运行arm.sh即可以构造交叉编译环境了 。
8.完成加入PATH环境变量,即可测试编译环境了 。
export PATH=$PATH:$TOOLCHAIN_DIR/arm-linux/gcc-3.3.2-glibc-2.3.2/bin
五、编译QTE
1.在本文资源贴中下载e680-qt.rar,把解开的.h头文件和lib文件复制到
$TOOLCHAIN_DIR/arm-linux/gcc-3.3.2-glibc-2.3.2下的对应目录 。这头文件
其实就是Linux PC机自带的头文件,而lib文件就是E680上的库文件 。
2.在ftp://ftp.trolltech.com/qt/source/qt-embedded-2.3.10-free.tar.gz
下载QTE 。关于这些路径,不行可以在Google搜索一下,不过国内的网站提供下载的
不多 。其实对于qt编译的相关配置,自带的英文文档还是比较详细的 。
3.在/home/gcc/toolchain下解压缩并设置环境变量
export QTDIR=$TOOLCHAIN_DIR/qt-2.3.10
4.在qt-2.3.10configs目录下修改linux-arm-g-shared文件,我们会在下面
的配置中指定使用arm平台 。在文件中查找如下内容:
SYSCONF_LINK= arm-linux-gcc
SYSCONF_LINK_SHLIB = arm-linux-gcc
均改为
SYSCONF_LINK= arm-linux-g
SYSCONF_LINK_SHLIB = arm-linux-g
否则在编译中会出现链接错误,QT程序都是基于C的,arm-linux-gcc不可能
编译成功!
5.在$QTDIR下运行以下命令,配置编译参数,可以看出平台是arm 。
./configure -qconfig all -depths 8,16 -xplatform linux-arm-g-thread -sm -qvfb -qt-libpng -system-jpeg -gif -qt-zlib -no-xft -keypad-mode
对相关参数不明白的地方,可以通过./configure -help查看,实在不行,分析
configure本身这个文件,相信你一定受益菲浅 。
运行完这个命令后,相关Makefile文件都会建立好了 。
注意:在QTE编译过程中,先会编译moc可执行文件,并会放在$QTDIR/bin下 。
(moc(Meta Object Compiler)是QT工具的工具,该工具是一个C预处理程序,
它为高层次的事件处理自动生成所需要的附加代码 。)此外还需要uic可执行程序
用于将Designer设计的界面文件(*.ui)转换成为相应的C文件(*.cpp和*.h),
然后让gcc进行编译 。这个工具不能却不能顺利编译,原因是QTE编译过程中,也把
这个文件也用arm-linux-gcc编译了,不能在Linux PC机上运行了 。解决方法有两个
直接复制Linux的uic文件到$QTDIR/bin下,或者手工去$QTDIR/tools/designer/uic
编译下uic,再复制过去 。或者去http://www.vanille.de/tools/uic-qt2下载uic-qt2
改名并复制到$QTDIR/bin下 。
6.在$QTDIR下输入make,执行编译 。
7.编译成功后,随便复制个example下的例子,注意别忘了连编译好的库文件一起
复制 $QTDIR/lib,设置好环境变量,即可在E680G上运行 。
如:
#!/bin/bash
export QTDIR=/usr/lib/ezx
推荐阅读
- 华字五行属性什么
- 中西方体育文化差异
- ps添加火焰渲染技巧分享
- mac搜索快捷键打开方法介绍
- ai图形添加花纹方法介绍
- 波导S889使用中发现的问题
- C4D融球工具使用教程分享
- 关于中秋的来历
- 家庭中的安全隐患有哪些
- 邮箱中转站在哪里找到
