首页| 论坛| 消息

标题:OT/E和Qtopa的编译全程我经历(一)编译PC上的qpe
作者:rxjhwk2008
日期:2008-08-17 11:56
内容:

今天我给大家分享一下我自己从编译PC上的QT到编译ARM上的QT(交叉编译PQE)的过程,虽然QT不是自己的全部,但是毕竟在这半个月的环境搭建实验时间里,受到无数的打击,无所的失败,在QT中文网内朋友的鼓舞下,也慢慢成长起来,最后才搭建完成,所以我们开始吧!
首先说说编译PC上的QT/E,我起初的时候不知道编译PC上的QT/E编译qpe和交叉编译后的qpe有什么不同,后来才发现的确有不同点:PC上的QT/E的qpe环境编译成功以后输入:
#qvfb 弹出了虚拟帧缓冲器,然后我们再打开一个终端,输入:
#qpe 在返回上一个终端,发现qpe的图形界面在虚拟帧缓冲的那个黑色框架中显示出来
而交叉编译qpe以后,输入
#qvfb 弹出虚拟帧缓冲器以后,然后再打开一个终端,输入:
#qpe 系统出现错误:cannot execute binary file 说明不支持这样的二进制文件格式
总结得出pc编译QT/E以后qpe 是i386 的,可以直接在PC机器上运行,交叉编译后的qpe是ARM的,只有挂接了板子后才可以运行(大家可以找到qpe,然后用file命令检测),具体操作如下:
#locate qpe | more找到qpe位置,找到后转到它所在的目录,然后
#file qpe 这样就可以看它(qpe)所支持的处理器格式了.
下面我们来一步步分析我的编译过程,
硬件就不用说了:内存256MB,主频1.6GHZ,因为我是学写驱动的所以裸装RedHat9.0(2.4.20-8)
交叉编译工具是2.95.3的,我把它放到了/usr/local/arm/目录中,然后在/etc/profile中配置了它的路径
注意:大多数厂家都提供了编译QT/E和Qtopia的脚本,我建议自己跟着他们提供的脚本一步一步的做,这样以来错了也知道是在哪一步出问题。
首先在创建目录/yehuo2410/qt_x86用于编译QT/E
商家提供以下编译资料:
tmake-1.11.tar.gz ,qt-embede-2.3.7.tar.gz , qt-x11-2.3.2.tar.gz,qt-free-1.7.tar.gz,这些对编译PC上的QT/E的qpe足够了,不过在交叉编译qpe的时候,还差两份资料:e2fsprogs.1.35.tar.gz,jpegsrc.v6b.tar.gz(必须要)
现在开始脚本分析了:
#cd /yehuo2410 (野火2410是我自己取的,不局限于任何厂家ARM开发板)
#tar xzvf +各个压缩包,解压到/yehuo2410
以下建立通用的目录
#mv tmake-11 tmake
#mv qt-2.3.7.tar.gz qt
#mv qt-2.3.2.tar.gz qt-x11
#mv qt-free-1.7.tar.gz qtopia
#cd qt-x11 转到这个目录开始编译相应的工具
#export QTDIR=$PWD 配置当前QTDIR
#echo yes | ./configure -static -ro-xft -no-opengl -n ..


#1 [rxjhwk2008 08-17 16:04]
更正一下,各个压缩包是解压到/yehuo2410/qt_x86里面的,而不是/yehuo2410里面
#2 [rxjhwk2008 08-17 16:28]
更正一下:我写的时候漏了两步
#cd qt
#make clean 这里似乎没有必要,不过建议执行一下
下面的步骤是必须的,不然编译后会出现cannot fine lqte错误
#cp $QPEDIR/src/qt/qconfig-qpe.h src/tools
#(echo yes; echo yes)|./configure -platform linux-generic-g++ -qconfig qpe -qvfb -depths 16,24,32
#make -C src 注意:-C 选项是指在编译是先转到src目录(不能自己直接转到在src目录make哦,因为我试过了,结果是失败)

回复 发表
主题 版块