完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
原创:飞凌 http://www.witech.com.cn/ 我用的是飞凌公司的TE2 2440II的开发板,拿到开发板时就按照随光盘自带的是用户手册上的说明按部就班的进行操作,由于刚开始接触Linux和QT,编译qtopia-free-2.2.0走了很多弯路,竟然反复进行了N多次,费时1个多月,才将qtopia-free-2.2.0编译通过。
刚开始是完全按照手册上的一步一步的进行,但编译支持qtopia-free-2.2.0的库文件就遇到了很大的麻烦,总是编译报错,后来发现,手册上的有写步骤存在笔误,最后是编译qtopia-free-2.2.0所需的库文件(手册上的armlib和arminclude)从飞凌公司获取的已编译完成的,直接拿过来用的,编译成功了。期间在飞凌的论坛上和QQ群里发了不少帖子求助,自己也查阅了相关的资料,还好,最终还是自己编译成功了。下面把我的编译方法写出来,以备忘,也希望能给准备做这些事情的朋友提供一个思路。
我的开发环境:
【硬件】:当时我是在研华的工控机上编译的,CPU:P4 2.4 内存:512M 硬盘:60G(配置不是很高,编译时间比较长)。
【交叉编译器】:cross-2.95.3
【用户】:root
1.编译前的一些准备工作:
1.1 建立目录
1. 建立编译qtopia-free-2.2.0所需要的目录
编译qtopia-free-2.2.0所需要的目录有:
/usr/local/arm (交叉编译器cross-2.95.3所在目录)
/root/yizhi (编译qtopia-free-2.2.0的总目录)
/root/yizhi/armlib (编译软件得到qtopia所需要的库文件全部放在这里)
/root/yizhi/include (编译软件得到qtopia所需要的头文件全部放在这里)
1.2 安装交叉编译器(已安装cross-2.95.3的这一步骤省略!跳至1.3)
之前看到有个cross-3.4.1.tar.bz2,觉得高版本的应该要比低版本的好用,于是就直接安装了cross-3.4.1,但用cross-3.4.1总是不能把qtopia-free-2.2.0编译成功,后来才知道不是那么回事,只能用cross-2.95.3,于是又安装了cross-2.95.3。
1.解压cross-2.95.3.tar.bz2
把cross-2.95.3.tar.bz2复制到在1.1中建立的目录/usr/local/arm下,在终端中进行如下操作:
#cd /usr/local/arm
#tar jxvf cross-2.95.3.tar.bz2
等待解压完成。
2.设置路径变量
由于刚才是在/usr/local/arm的目录下安装的cross-2.95.3,所以设置路径为:PATH=/usr/local/arm/2.95.3/binPATH,然后可以查看arm-linux-gcc的版本情况,在终端中进行以下操作:
#export PATH=/usr/local/arm/2.95.3/binPATH
#arm-linux-gcc -v
这样就把交叉编译器的地址变量设置好了,但这样设置路径变量的方法只在此终端中生效,对其他的终端无效,若要设置对所有用户所有终端都有效的路径变量,在/etc/profile 中最后一行添加“export PATH=/usr/local/arm/2.95.3/binPATH”,详见我的“在Linux里设置环境变量的方法(export PATH) ”的文章(http://blog.chinaunix.net/u2/86665/showart_1669729.html)。
1.3 交叉编译qtopia-free-2.2.0
1.解压文件
将armlib.tar和arminclude.tar复制到/root/yizhi目录下,分别进行解压,在终端中进行如下操作:
#cd /root/yizhi (若已在此目录下,可省略!)
#tar -xvf armlib.tar
#tar -xvf arminclude.tar
解压完成后,编译qtopia-free-2.2.0所需的库文件都在/root/yizhi/armlib目录下,头文件都在/root/yizhi/arminclude目录下。
将qtopia-free-src-2.2.0.tar.gz复制到/root/yizhi目录下,执行解压操作,得到/root/yizhi/qtopia-free-2.2.0目录。在终端中进行如下操作:
#cd /root/yizhi (若已在此目录下,可省略!)
#tar zxvf qtopia-free-src-2.2.0.tar.gz
2.编译修改工作
(1)在终端中进行如下操作:
#vi /root/yizhi/qtopia-free-src-2.2.0/qtopia/mkspecs/qws/linux-arm-g++/qmake.conf
将QMAKE_LIBS_QT = -lqte 改为
QMAKE_LIBS_QT = -lqte –lpng –lz –luuid –ljpeg
(2)如果想让qtopia支持鼠标,需要修改/root/yizhi/qtopia-free-src-2.2.0/qtopia/src/qt/qconfig-qpe.h文件,在终端中进行以下操作:
#vi /root/yizhi/qtopia-free-src-2.2.0/qtopia/src/qt/qconfig-qpe.h
注释如下部分:
/*
#ifndef QT_NO_QWS_CURSOR
#define QT_NO_QWS_CURSOR
#endif
#ifndef QT_NO_QWS_MOUSE_AUTO
#define QT_NO_QWS_MOUSE_AUTO
#endif
#ifndef QT_NO_QWS_MOUSE_PC
#define QT_NO_QWS_MOUSE_PC
#endif
*/
(3)复制文件
在终端中进行如下操作:
#cp /root/yizhi/qtopia-free-src-2.2.0/qtopia/src/qt/qconfig-qpe.h /root/yizhi/qtopia-free-src-2.2.0/qt2/src/tools
#cd /root/yizhi/qtopia-free-src-2.2.0/qtopia/src/libraries/qtopia
#cp custom-linux-ipaq-g++.cpp custom-linux-arm-g++.cpp
#cp custom-linux-ipaq-g++.h custom-linux-arm-g++.h
(4)将/usr/local/arm/2.95.3/arm-linux/sys-include/linux中的videodev.h文件中的#include
#vi /usr/local/arm/2.95.3/arm-linux/sys-include/linux/videodev.h
3.设置环境变量、编译及安装
(1)设置编译qtopia的环境变量。在终端中进行如下操作:
#export QTDIR=/root/yizhi/qtopia-free-2.2.0/qt2
#export QPEDIR=/root/yizhi/qtopia-free-2.2.0/qtopia
#export LD_LIBRARY_PATH=$QTDIR/libQPEDIR/libLD_LIBRARY_PATH
#export TMAKEDIR=/root/yizhi/qtopia-free-2.2.0/tmake
#export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
#export PATH=/usr/local/arm/2.95.3/binPATH
(2)创建交叉编译后的qtopia文件夹。在终端中执行:
#mkdir /root/yizhi/qtopia
(3)生成Makefile文件。在终端中执行:
#./configure –qte “-embedded –xplatform linux-arm-g++ -qconfig qpe –no-qvfb –depths 8,16,24,32 –no-xft –system-jpeg –system-libpng –system-zlib –gif –thread –release –I/root/yizhi/arminclude –L/root/yizhi/armlib –lpng –lz –luuid -ljpeg” –qpe ‘-xplatform linux-arm-g++ -edition pda –displaysize 800x600 –I/root/yizhi/arminclude –L/root/yizhi/armlib –prefix=/root/yizhi/qtopia’
(4)编译qtopia(此过程时间较长)。在终端中执行:
#make
(5)安装qtopia的交叉编译环境。在终端中执行:
#make install
编译完成以后,在/root/yizhi目录下出现一个qtopia目录,在/root/yizhi/qtopia/lib目录下可以看到:
libqte.so libqte.so.2 libqte.so.2.3 libqte.so.2.3.12
这四个文件,这是编译qte所需的库文件,将所有需要支持的库文件都放到新生成的qtopia/lib中,在终端中执行:
#cp /root/yizhi/armlib/*.so* /root/yizhi/qtopia/lib
OK,现在就将QTE环境编译成功了。
注:如果在编译的过程中出错,在重新make前需要先执行make clean,然后再./configure,再执行make的操作。
编译安装qtopia-free-2.2.0前要先编译安装qt-embedded-2.3.7,而安装qt-embedded-2.3.7之前要先安装qt-x11-2.3.2,所以,它们的安装顺序是:先安装qt-x11-2.3.2,再安装qt-embedded-2.3.7,最后安装qtopia-free-2.2.0。 收藏 分享 admin 发短消息 UID1 帖子174 精华0 积分87 威望0 金钱393 阅读权限200 在线时间37 小时 注册时间2009-12-1 最后登录2010-1-25
· tmake1.11 或更高版本:生成Qt/Embedded应用工程的Makefile文件。 · Qt/Embedded:Qt/Embedded安装包。 · Qt 2.3.2 for X11:Qt的X11 版的安装包,产生x11开发环境所需要的两个工具。 注意 这些软件安装包都有许多不同的版本,由于版本的不同会导致这些软件在使用时可能引起的冲 突,为此必须依照一定的安装原则,Qt/Embedded安装包的版本必须比Qt for X11的安装包的 版本新,这是因为Qt for X11 的安装包中的两个工具uic 和designer 产生的源文件会和 Qt/Embedded的库一起被编译链接,因此要本着“向前兼容”的原则,Qt for X11 的版本应比 Qt/Embedded的版本旧。 1.安装tmake 用户可使用普通的解压缩即可,注意要将路径添加到全局变量中去,如下所示: tar zxvf tmake-1.11.tar.gz export TMAKEDIR=$PWD/tmake-1.11 export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++ export PATH=$TMAKEDIR/binPATH 2.安装Qt/X11 2.3.2 用户也可以在configure后添加一定的参数,如“-no-opengl”或“-no-xfs”, 可以键入命令“./configure –help”来获得一些帮助信息。 tar xfz qt-x11-2.3.2.tar.gz cd qt-2.3.2 export QTDIR=$PWD export PATH=$QTDIR/binPATH export LD_LIBRARY_PATH=$QTDIR/libLD_LIBRARY_PATH ./configure -no-opengl make make -C tools/qvfb mv tools/qvfb/qvfb bin cp bin/uic $QTDIR/bin
3.安装Qt/Embedded 2.3.7 这里使用常见的解压命令及安装命令即可,要注意这里的路径与不同的系统有关,
要根据实际情况进行修改。另外,这里的configure命令带有参数“-qconfig –qvfb –depths 4,8,16, 32”分别为指定Qt嵌入式开发包生成虚拟缓冲帧工具qvfb,并支持4,8,16,32 位的显示 颜色深度。另外读者也可以在configure 的参数中添加“-system”、“-jpeg”或“gif”命令, 使Qt/Embedded平台能支持jpeg、gif格式的图形。 Qt/Embedded 开发包有5 种编译范围的选项,使用这些选项可控制Qt 生成的库文件 的大小。如命令make sub-src 指定按精简方式编译开发包,也就是说有些Qt 类未被编译。 其他编译选项的具体用法可参见“./configure–help”命令查看。精简方式的安装步骤若 下所示: tar zxvf qt-embedded-2.3.7.tar.gz cd qt-2.3.7 export QTDIR=$PWD export QTEDIR=$QTDIR export PATH=$QTDIR/binPATH export LD_LIBRARY_PATH=$QTDIR/libLD_LIBRARY_PATH ./configure -qconfig local-qvfb -depths 4,8,16,32 make sub-src |
|
相关推荐 |
|
819 浏览 0 评论
5599 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2734 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
3074 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
32738 浏览 11 评论
73368 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 12:09 , Processed in 0.543133 second(s), Total 39, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号