




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
搭建嵌入式QT开发环境日月发表于-2009-11-8 13:59:00网上看了好多关于Qt开发平台搭建的帖子,但发现上面的帖子都比较旧,是针对Qt旧版本而写的。本人喜欢用较新版的东西,相信新版的东西肯定比旧版的东西 好用,果不其然Qt的新版本真的很好用,而且搭建起来更加容易。刚开始接触的时候,Qt的众多版本搞的自己头昏脑涨,什么Qt/x11,Qt /win,Qt/embedded ,Qtopia core,Qtopia等等,真的是丈二和尚摸不着头脑,幸好有网络,上网总能找到自己想要的东西,而且又不需要给予别人回报,当然自己也有些责任共享自 己的资料,看来共产主义在互联网已经开始萌芽了,哈哈。先看看Qt的各个版本简介:1.什么是QTQt是一个完整的C+应用程序开发框架。它包含一个类库,和用于跨平台开发及国际化的工具。Qt API在所有支持的平台上都是相同的,Qt工具在这些平台上的使用方式也一致, 因而Qt应用的开发和部署与平台无关。2.什么是QtopiaQtopia 是一个面向嵌入式Linux的全方位应用程序开发平台,同时也是用于基于Linux的PDA(个人数字助理),智能电话(Smartphone)以及其他 移动设备的用户界面。简单地说,Qtopia实质上是一组关于PDA和智能电话的应用程序结合,如果需要开发这类产品可以在这组程序的基础上迅速构建出 PDA或者智能电话。Qtopia实质上依赖Qt/Embedded。3.什么是Qt/EmbeddedQt/Embedded 是一个完整的自包含GUI和基于Linux的嵌入式平台开发工具。这个开发工具的名字好像最容易混淆,当然Qt/Embedded是最熟悉的名字,好像 Qtopia Core说的也是它。最近,奇趣公司又该名字了,它的新名字叫做qt-embedded-linux-xxxx,看来这个Qt/Embedded的马甲还 很多哈。下面就是搭建Qt开发平台了,我的平台是fedora core 7,需要的Qt版本有两个:qt-x11-opensource-src-4.3.2.tar.gzqt-embedded-linux-opensource-src-4.4.0-rc1.tar.bz2qt-x11版本可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。qt-embedded版本就是专门用于嵌入式方面的版本。下面是安装步骤:1. 解压这两个qt包a) tar jxvf qt-x11-opensource-src-4.3.2.tar.gzb) tar jxvf qt-embedded-linux-opensource-src-4.4.0-rc1.tar.bz2c) cp qt-embedded-linux-opensource-src-4.4.0-rc1 qt-embedded-linux-opensource-src-4.4.0-rc1-x86d) mv qt-embedded-linux-opensource-src-4.4.0-rc1 qt-embedded-linux-opensource-src-4.4.0-rc1-arm这里,qt-embedded有两个复制:qt-embedded-linux-opensource-src-4.4.0-rc1-x86 和qt-embedded-linux-opensource-src-4.4.0-rc1-arm,根据他们的名字可以知道前者是适合x架构的,后者适 合arm架构为什么需要两个呢?如果有开发板的话,可以只编译qt-embedded版本成arm架构的就可以了,但是很多时候用qvfb的话,开发会方 便很多,所以多编译一个x86架构的也不错。这里是否有些疑问,qt-x11也是适合x86结构的,这不是和qt-embedded重复了吗?答案是这样 的,qt-embedded版本只能在嵌入式板子上面运行,编译成x86架构的程序也只能在x86的嵌入式板子上跑。前面说过,我们需要qvfb来开发, 但是qvfb只能执行x86架构的应用程序,所以需要让qt-embedded生成关于x86的库和其他文件。而将qt-embedded编译成arm, 又是为什么呢?道理很简单,我最终的qt应用程序需要在arm架构上面运行,当然需要这方面的库,所以编译成arm也就顺理成章了。好了,现在简单的总结 一下,首先,使用qt-x11提供的库和开发工具开发出qt应用程序,然后使用qt-embedded关于x86库和工具再次编译我们开发qt应用程序, 这是所得到的可执行文件就可以在qvfb上运行了,最后,使用qt-embeddedd的arm库再次编译就可以得到在arm上能运行的可执行程序。很明 显,如果有开发板,第二步是可要可不要的(最好是要),如果没有开发板的话,第三步也就没必要了,这样就不需要将qt-embedded编译成适合arm 架构的。具体步骤与说明:1. 下载源码包qt-x11-opensource-src-4.5.0.tar.bz2qt-embedded-linux-opensource-src-4.5.0.tar.bz2下载地址:/qt/source/2.编译及安装qt-x11-opensource-src-4.5.0qt-x11版本可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。qt-embedded版本就是专门用于嵌入式方面的版本。tar xjvf qt-x11-opensource-src-4.5.0.tar.bz2cd qt-x11-opensource-src-4.5.0./configuremakemake install历经漫长的编译过程,约一个半小时,默认安装在/usr/local/Trolltech/Qt-4.5.0下.编译完成后源程序不要删除,还有用。3.编译及安装qt-embedded-linux-opensource-src-4.5.0在用户目录下建立一个src目录,用于存放编译源文件qt-embedded-linux-opensource-src- 4.5.0.tar.bz2。将其解压得到qt-embedded-linux-opensource-src-4.5.0,重命名为qt- embedded-linux-opensource-src-4.5.0-x86. 再次解压qt-embedded-linux-opensource-src-4.5.0.tar.bz2,并重命令为qt-embedded- linux-opensource-src-4.5.0-arm.为什么有两个复制呢?我们可以从他们的名字上就不难看出前者是适合x架构的,后者适合 arm架构的,如果有开发板的话,可以只编译qt-embedded版本成arm架构的就可以了,但是很多时候用qvfb的话,开发会方便很多,所以多编 译一个x86架构的也不错。mkdir /srcmv qt-embedded-linux-opensource-src-4.5.0.tar.bz2 /srctar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-x86tar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-armcd qt-embedded-linux-opensource-src-4.5.0-x86./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -qvfbmakemake install-OK!qt-embedded-x86被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-x86下.cd qt-embedded-linux-opensource-src-4.5.0-arm./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded armmakemake install-OK!qt-embedded-arm被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-arm下.4.至此我们已经安装好了qt-x11版,即在PC机上运行的QT,qt-embedded-x86版(x86体系的嵌入式板子上运行的QT)和qt-embedded-arm(arm板子上运行的QT).下一步:设置环境变量(1)qt-x11:vi setenv.sh添加如下内容:PATH=/usr/local/Trolltech/Qt-4.5.0/bin:$PATHLD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.5.0/lib:$LD_LIBRARY_PATH保存退出.移到/usr/local/Trolltech/Qt-4.5.0中。(2)qt-embedded-x86:vi setenv.sh添加如下内容:QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-x86PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin:$PATHLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-x86/lib:$LD_LIBRARY_PATH保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-x86中。(3)qt-embedded-arm:vi setenv.sh添加如下内容:QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-armPATH=/usr/local/Trolltech/QtEmbedded-4.5.0-arm/bin:$PATHLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-arm/lib:$LD_LIBRARY_PATH保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-arm中。我们在运行的时候分别运行对应的脚本即可,比如我们要用qt-x11:cd /usr/local/Trolltech/Qt-4.5.0source setenv.sh然后就可以用qmake designer等工具了.5.做到这一步还有qvfb没有编译,到qt-x11-opensource-src-4.5.0中重新编译qvfb即可cd qt-x11-opensource-src-4.5.0cd /tools/qvfbmake -会在qt-x11-opensource-src-4.5.0/bin下生成qvfb,我们将它copy至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下cp ./.bin/qvfb /usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin6.做一个测试cd /usr/local/Trolltech/QtEmbedded-4.5.0-x86source setenv.shcd /usr/local/Trolltech/QtEmbedded-4.5.0-x86/demos/booksqvfb -width 640 -height 480 &./books -qws出错信息一般为 Error opening buffer device /dev/fb0QScreenLinuxFb:connect: No such file or directory这种情况发生最多的是编译Qt-Embedded的x86版本,希望在qvfb上运行应用时使用者在第一步运行qvfb后第二步运行./myapp -qws出现以上的提示错误原因是Qt-Embedded在查找系统的显示设备时,默认去寻找LinuxFb,也即Linux的/dev/fb0设备,但是如果Qt- Embedded安装了其它显示设备,比如qvfb,则可以在qvfb上显示,但是需要一个插件(或者说驱动,可能会和设备驱动混淆),使Qt- Embedded能使用qvfb。 为了作到这一点,需要在编译Qt-Embedded时的configure命令加上如下选项./configure -plugin-gfx-qvfb -plugin-kbd-qvfb -plugin-mouse-qvfb 或./configure -qt-gfx-qvfb -qt-kb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年其他航空运输辅助活动新员工岗位专业知识笔试题目及答案
- 高速地基强夯施工合同(3篇)
- 外来务工人员就业困境-洞察及研究
- n2护士考试试题及答案多选
- 个人信用贷款连带责任保证协议
- 高端定制印刷包装项目居间代理合同
- 橱柜企业加盟合作协议
- 互联网金融担保人更替及信用保障协议
- 食品加工企业生产人员劳动合同
- 2025公务员应变面试题及答案
- 九一八警钟长鸣强国有我+课件-2025-2026学年高一上学期爱国主义主题班会教育+-
- 山东省汽车维修工时定额(T-SDAMTIA 0001-2023)
- 工程项目样板施工技术方案
- 超分子化学-杯芳烃课件
- 2022年医院消防安全知识培训课件
- (完整word)毛坯余量与精度
- 商务英语综合教程第一册ppt课件(完整版)
- DB23∕T 1019-2020 黑龙江省建筑工程资料管理标准
- 无尘车间异物管理及人员教育培训课件
- fy13及on动手实验中文版factorytalk historian基础mi
- 电弧跟踪介绍
评论
0/150
提交评论