QT2QTE嵌入式图形开发环境的搭建修正版Word格式文档下载.docx
- 文档编号:20657531
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:15
- 大小:50.10KB
QT2QTE嵌入式图形开发环境的搭建修正版Word格式文档下载.docx
《QT2QTE嵌入式图形开发环境的搭建修正版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《QT2QTE嵌入式图形开发环境的搭建修正版Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
A.命令:
所有以#开头的均为在shell中执行的命令。
B.交叉编译器位置:
/usr/local/arm/2.95.3。
C.工作目录:
默认为/root/yizhi。
D.脚本注释:
均放在命令下一行的圆括号内。
4.准备所需安装软件包
cross-2.95.3.tar.bz2,
e2fsprogs-1.40.2.tar.gz,
jpegsrc.v6b.tar.gz,
libpng-1.2.19-no-config.tar.bz2,
zlib-1.2.3.tar.bz2,
A.tmake-1.13.tar.gz,用于生成Makefile。
B.qt-x11-2.3.2.tar.gz,Qt/X11软件包,用于生成qvfb等开发工具。
C.qt-embedded-2.3.10-free.tar.gz,Qt/Embedded软件包,Qt/Embedded图形库。
D.qtopia-free-src-2.2.0.tar.gz,Qt的PDA应用框架,可以生成一个Qt的PDA程序。
QT/E下载地址为:
ftp:
//ftp.rediris.es/mirror/Qt/source/
Tmake下载地址为:
//
5.建立QTE开发环境所需要的目录
/usr/local/arm//编译器所需要的路径
/root/yizhi
/root/yizhi/armlib
/root/yizhi/arminclude
/root/yizhi/qtopia-free-2.2.0*
/root/yizhi/libpng-1.2.19*
/root/yizhi/zlib-1.2.3*
/root/yizhi/e2fsprogs-1.40*
/root/yizhi/jpeg-6b*
/root/yizhi/qt-2.3.10*
/root/yizhi/host
以上文件夹是自己建的。
注:
带“*”文件夹在解压的时候会生成,
二、安装交叉编译工具
将cross-2.95.3.tar.bz2放到/usr/local/arm文件夹下解压,
#tar–jxvfcross-2.95.3.tar.bz2
这个命令会在你的/usr/local/arm/2.95.3目录下安装arm-linux-gcc交叉编译程序,然
后在PATH变量中添加一项:
exportPATH=/usr/local/arm/2.95.3/bin:
$PATH
测试:
#arm-linux-gcc-v//该命令可查看编译器的版本
三、使用qvfb运行基于x86的QT环境(该部分为)
1、在目录/root/yizhi目录下解压三个文件
#cd/root/yizhi
#tar-xzftmake-1.13.tar.gz
#tar-xzfqt-x11-2.3.2.tar.gz
#tar-xzfqt-embedded-2.3.10-free.tar.gz
2、安装tmake
用户可使用普通的解压缩即可,注意要将路径添加到全局变量中去,如下所示:
#tarzxvftmake-1.13.tar.gz
#exportTMAKEDIR=$PWD/tmake-1.13
#exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++(网页设置,这个路径与下面的不同!
待验证)
#exportPATH=$TMAKEDIR/bin:
2、编写环境变量设置文件step1
#vistep1
在新建的文件中输入以下代码:
exportTMAKEDIR=/root/yizhi/tmake-1.13
exportQt2DIR=/root/yizhi/qt-2.3.2
exportQtEDIR=/root/yizhi/qt-2.3.10
exportPATH=$TMAKEDIR/bin:
exportTMAKEPATH=$TMAKEDIR/lib/linux-g++(这个路径与上面安装tmake的路径不同!
exportQTDIR=$Qt2DIR
exportPATH=$QTDIR/bin:
exportLD_LIBRARY_PATH=$QTDIR/lib:
$LD_LIBRARY_PATH
保存退出
运行该文件
#sourcestep1
3、安装Qt/X112.3.2,配置编译qt-2.3.2(在step1环境下)
进入qt-2.3.2目录下
#cd/root/yizhi/qt-2.3.2
[root@rootqt-2.3.2]#./configure-no-xft
[root@rootqt-2.3.2]#make
将生成的bin/uic文件复制到$QtEDIR/bin目录下(如果该目录存在uic则覆盖原来的uic文件,若不存在该文件夹则新建一个文件夹)
即复制到qt-2.3.10/bin下
[root@rootqt-2.3.2]#cpbin/uic$QtEDIR/bin/
4、编译qvfb(在step1环境下)
进入$QtEDIR/tools/qvfb
编译qvfb.pro(使用tmake-1.13的tmake工具进行)
[root@rootqvfb]#$TMAKEDIR/bin/tmake-oMakefileqvfb.pro
[root@rootqvfb]#make
将生成的qvfb文件复制到$QtEDIR/bin目录中($QtEDIR=/root/yizhi/qt-2.3.10/bin)
[root@rootqvfb]#cpqvfb$QtEDIR/bin
5、编译基于x86结构的qt-embedded(即qt-2.3.10)
*****新建终端*****
(1)环境变量设置step2文件
exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
(和step1区别)
exportQTDIR=$QtEDIR(和step1区别)
exportLD_LIBRARY_PATH=$Qt2DIR/lib:
$QTDIR/lib:
运行该文件#sourcestep2
(2)进入qt-embedded目录(即qt-2.3.10)进行配置和编译
[root@rootqt-2.3.10]#./configure-no-xft-qvbf-depths4,8,16,32(这是逗号)
[root@rootqt-2.3.10]#make
6、OK,qvbf/qtembedded-x86环境已经搭好,进行自带的demo测试
[...]#cdqt-2.3.10/examples/launcher
[root@rootlauncher]#qvfb-width640-height480&
sleep10
上面启动了qvfb虚拟器
[root@rootlauncher]#./lanucher-qws
上面实现在qvfb中运行一个app了。
四、编译QTOPIA所依赖的库文件
1、编译libtool(libtool提供通用的库编译支持)
#tarzxvflibtool-2.2.tar.gz
#cdlibtool-2.2
#./configure--prefix=/usr(为编译Libtool做准备)
#make
(要测试结果,请运行:
makecheck。
)
#makeinstall
2、在/root文件夹下建立相应的文件夹
#mkdirarmlib
#mkdirarminclude
{//mkdirqt-2.3.10
#cdqt-2.3.10
#mkdirbin
#mkdirlib
//mkdirinclude(已经有了)
#mkdirman
#cdman
#mkdirman1}
3、解压qtopia-free-src-2.2.0.tar.gz
#tarzxvfqtopia-free-src-2.2.0.tar.gz(有点区别)
4、编译e2fsprogs-1.40.2
要得到qtopia所需的二個文件,uuid.h及libuuid.so。
#cd/root/yizhi/
#tarzxvfe2fsprogs-1.40.2.tar.gz
#cd/root/yizhi/e2fsprogs-1.40.2
设置环境变量
#exportPATH=/usr/local/arm/2.95.3/bin:
#exportCC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
#./configure--enable-elf-shlibs--host=arm-linux--with-cc=/usr/local/arm/2.95.3/bin/arm-linux-gcc--with-linker=/usr/local/arm/2.95.3/bin/arm-linux-ld--prefix=/usr/local/arm/2.95.3/arm-linux
#make
将e2fsprogs-1.40.2/lib/目录下uuid的文件夹复制到yizhi/arminclude下
#cp-r/lib/uuid/root/yizhi/arminclude
#cplib/libuuid.so*/root/yizhi/armlib
#cplib/libuuid.a/root/yizhi/armlib
5、交叉编译jpeg库(为qt-embedded添加jpeg库)
解压tarzxvfjpegsrc.v6b.tar.gz到/root/yizhi
#tarzxvfjpegsrc.v6b.tar.gz
#cdjpeg-6b
#exportQTDIR=/root/yizhi/qtopia-free-2.2.0/
#exportQTEDIR=/root/yizhi/qtopia-free-2.2.0/qtopia/
#exportLD_LIBRARY_PATH=$QTDIR/lib:
#exportCC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
#cp/usr/share/libtool/config/config.guess/root/yizhi/jpeg-6b
#cp/usr/share/libtool/config/config.sub/root/yizhi/jpeg-6b
#./configure--enable-shared--enable-static--prefix=/root/yizhi/qt-2.3.10
#cpjconfig.docjconfig.h
修改生成的Makefile文件:
#geditMakefile
做如下修改:
prefix=/root/yizhi/qt-2.3.10(qt-embeddedd的文件夹路径)
CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
AR=/usr/local/arm/2.95.3/bin/arm-linux-arrc
AR2=/usr/local/arm/2.95.3/bin/arm-linux-ranlib
保存
(在你的qt-embedded中建立man/man1文件夹,否则安装jpeg库时会出错)
最后:
#makeinstall–lib
#cpjpeglib.hjconfig.hjmorecfg.h/root/yizhi/arminclude
#cp/root/yizhi/qt-2.3.10/lib/libjpeg.so*/root/yizhi/armlib
#cp/root/yizhi/qt-2.3.10/lib/libjpeg.so*/usr/local/arm/2.95.3/arm-linux/lib
(把生成的库文件向/usr/local/arm/2.95.3/arm-linux/lib目录中也拷贝一份)
通过命令filelibjpeg.so查看:
libjpeg.so:
ELF32-bitLSBsharedobject,ARM,version1(ARM),notstripped
这样的话就说明生成的库是forarm的,类似方法可以用于生成libuuid.so库.
6、编译zlib:
#cd/root/yizhi
#tarzxvfzlib-1.2.3.tar.gz
#cd/root/yizhi/zlib-1.2.3
#exportLD_LIBRARY_PATH=/usr/local/arm/2.95.3/arm-linux/lib:
#./configure–shared
#viMakefile
修改:
[begin]
CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
...
LDSHARED=/usr/local/arm/2.95.3/bin/arm-linux-gcc-shared-Wl,-soname,libz.so.1
CPP=/usr/local/arm/2.95.3/bin/arm-linux-gcc-E
AR=/usr/local/arm/2.95.3/bin/arm-linux-arrc
RANLIB=/usr/local/arm/2.95.3/bin/arm-linux-ranlib
prefix=/usr/local/arm/2.95.3/arm-linux
[end]
将编译生成的动态库及相关的头文件分别复制到armlib和arminclude目录下
#cplibz.so*/root/yizhi/armlib
#cp*.h/root/yizhi/arminclude
#cp*.h/usr/local/arm/2.95.3/arm-linux/include
#cplibz.so*/usr/local/arm/2.95.3/arm-linux/lib
7、编译libpng库:
将libpng-1.2.19.tar.bz2解压到/root/yizhi目录下
#tarzxvflibpng-1.2.19-no-config.tar.gz
#cd/root/yizhi/libpng-1.2.19
#cpscripts/makefile.linux./Makefile
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个
AR_RC=/usr/local/arm/2.95.3/bin/arm-linux-arrc
prefix=/usr/local/arm/2.95.3/arm-linux
#cplibpng12.so*/root/yizhi/armlib
#cplibpng.a/root/yizhi/armlib
8、
#cp/root/yizhi/armlib/*/usr/local/arm/2.95.3/arm-linux/lib
#cp-r/root/yizhi/arminclude/*/usr/local/arm/2.95.3/arm-linux/include
#cp/root/yizhi/qt-2.3.10/lib/*/usr/local/arm/2.95.3/arm-linux/lib
#cp/root/yizhi/qt-2.3.10/include/*/usr/local/arm/2.95.3/arm-linux/include
9、编译qtopia-2.2.0得到本机运行版本uic工具
qtopia-2.2.0版本里面集成了qt\tmake\qtopia。
编译Qt/X11的唯一目的就是为编译QTE提供uic(用户接口编译器)以及基于XWindows
系统的FrameBuffer设备模拟器qvfb。
解压qtopia-free-src-2.2.0.tar.gz,将qtopia-free-2.2.0复制到/root/yizhi/host
#cd/root/yizhi/host/qtopia-free-2.2.0
要生成Makefile
#./configure
#make//时间较长
#cp/root/yizhi/host/qtopia-free-2.2.0/qt2/bin/uic/root/yizhi/qtopia-free-2.2.0/qt2/bin///如果已经有uic文件则直接拷贝即可
五、交叉编译qtopia
1、编译修改工作
①、#vi/root/yizhi/qtopia-free-2.2.0/qtopia/mkspecs/qws/linux-arm-g++/qmake.conf
将此行
QMAKE_LIBS_QT=-lqte
修改为
QMAKE_LIBS_QT=-lqte-lpng-lz-luuid-ljpeg
②、如果想让Qtopia支持鼠标,需要修改/root/yizhi/qtopia-free-2.2.0/qtopia/src/qt/qconfig-qpe.h文件,在终端进行如下操作:
#vi/root/yizhi/qtopia-free-2.2.0/qtopia/src/qt/qconfig-qpe.h
注释如下部分:
/*
#ifndefQT_NO_QWS_CURSOR
#defineQT_NO_QWS_CURSOR
#endif
#ifndefQT_NO_QWS_MOUSE_AUTO
#defineQT_NO_QWS_MOUSE_AUTO
#ifndefQT_NO_QWS_MOUSE_PC
#defineQT_NO_QWS_MOUSE_PC
*/
③复制文件
#cp/root/yuzhi/qtopia-free-2.2.0/qtopia/src/qt/qconfig-qpe.h/root/yizhi/qtopia-free-2.2.0/qt2/src/tools
#cd$QPEDIR/src/libraries/qtopia($QPEDIR=/root/yizhi/qtopia-free-2.2.0/qtopia/)
#cpcustom-linux-ipaq-g++.cppcustom-linux-arm-g++.cpp
#cpcustom-linux-ipaq-g++.hcustom-linux-arm-g++.h
④、将/usr/local/arm/2.95.3/arm-linux/sysinclude/linux/videodev.h文件中的#include<
linux/version.h>
一行注释屏蔽
2、设置环境变量,编译及安装
①设置编译qtopia的环境变量
#cd/root/yizhi/qtopia-free-2.2.0
#exportQTDIR=/root/yizhi/qtopia-free-2.2.0/qt2
#exportQPEDIR=/root/yizhi/qtopia-free-2.2.0/qtopia
$QPEDIR/lib:
#exportTMAKEDIR=/root/yizhi/qtopia-free-2.2.0/tmake
#exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++
②创建交叉编译后的qtopia文件夹
#mkdir/root/yizhi/qtopia
③生成Makefile文件
#./configure-qte"
-embedded-xplatformlinux-arm-g++
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QT2QTE 嵌入式 图形 开发 环境 搭建 修正