[ZLG-ARM] Qt开发平台搭建

[复制链接]
2232|2
 楼主| lpczcy 发表于 2009-6-4 13:59 | 显示全部楼层 |阅读模式
网上看了好多关于Qt开发平台搭建的帖子,但发现上面的帖子都比较旧,是针对Qt旧版本而写的。本人喜欢用较新版的东西,相信新版的东西肯定比旧版的东西好用,果不其然Qt的新版本真的很好用,而且搭建起来更加容易。刚开始接触的时候,Qt的众多版本搞的自己头昏脑涨,什么Qt/x11,Qt/win,Qt/embedded&nbsp;,Qtopia&nbsp;core,Qtopia等等,真的是丈二和尚摸不着头脑,幸好有网络,上网总能找到自己想要的东西,而且又不需要给予别人回报,当然自己也有些责任共享自己的资料,看来**在互联网已经开始萌芽了,哈哈。<br /><br />先看看Qt的各个版本简介:<br /><br />1.什么是QT<br /><br />Qt是一个完整的C++应用程序开发框架。它包含一个类库,和用于跨平台开发及国际化的工具。Qt&nbsp;API在所有支持的平台上都是相同的,Qt工具在这些平台上的使用方式也一致,&nbsp;因而Qt应用的开发和部署与平台无关。<br /><br />2.什么是Qtopia<br /><br />Qtopia是一个面向嵌入式Linux的全方位应用程序开发平台,同时也是用于基于Linux的PDA(个人数字助理),智能电话(Smartphone)以及其他移动设备的用户界面。简单地说,Qtopia实质上是一组关于PDA和智能电话的应用程序结合,如果需要开发这类产品可以在这组程序的基础上迅速构建出PDA或者智能电话。Qtopia实质上依赖Qt/Embedded。<br /><br />3.什么是Qt/Embedded<br /><br />Qt/Embedded是一个完整的自包含GUI和基于Linux的嵌入式平台开发工具。这个开发工具的名字好像最容易混淆,当然Qt/Embedded是最熟悉的名字,好像Qtopia&nbsp;Core说的也是它。最近,奇趣公司又该名字了,它的新名字叫做qt-embedded-linux-xxxx,看来这个Qt/Embedded的马甲还很多哈。<br /><br />下面就是搭建Qt开发平台了,我的平台是fedora&nbsp;core&nbsp;7,需要的Qt版本有两个:<br /><br />qt-x11-opensource-src-4.3.2.tar.gz&nbsp;<br /><br />qt-embedded-linux-opensource-src-4.4.0-rc1.tar.bz2&nbsp;<br /><br />qt-x11版本可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。qt-embedded版本就是专门用于嵌入式方面的版本。下面是安装步骤:<br /><br />&lt!--[if&nbsp;!supportLists]--&gt1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gt解压这两个qt包<br /><br />&lt!--[if&nbsp;!supportLists]--&gta)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gttar&nbsp;–jxvf&nbsp;qt-x11-opensource-src-4.3.2.tar.gz<br /><br />&lt!--[if&nbsp;!supportLists]--&gtb)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gttar&nbsp;–jxvf&nbsp;qt-embedded-linux-opensource-src-4.4.0-rc1.tar.bz2<br /><br />&lt!--[if&nbsp;!supportLists]--&gtc)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gtcp&nbsp;qt-embedded-linux-opensource-src-4.4.0-rc1&nbsp;qt-embedded-linux-opensource-src-4.4.0-rc1-x86<br /><br />&lt!--[if&nbsp;!supportLists]--&gtd)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gtmv&nbsp;qt-embedded-linux-opensource-src-4.4.0-rc1&nbsp;qt-embedded-linux-opensource-src-4.4.0-rc1-arm<br /><br />这里,qt-embedded有两个复制:qt-embedded-linux-opensource-src-4.4.0-rc1-x86&nbsp;和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架构的。<br /><br />&lt!--[if&nbsp;!supportLists]--&gt2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gt这一步当然就是编译了<br /><br />&lt!--[if&nbsp;!supportLists]--&gta)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gtqt-x11:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./configure&nbsp;-qvfb<br /><br />make<br /><br />cd&nbsp;tools/qvfb<br /><br />make<br /><br />cd&nbsp;../..<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make&nbsp;install<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp&nbsp;tools/qvfb/qvfb*&nbsp;/usr/local/Trolltech/Qt-4.3.2/bin<br /><br />&lt!--[if&nbsp;!supportLists]--&gtb)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gtqt-embedded:<br /><br />&lt!--[if&nbsp;!supportLists]--&gt1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gtx86:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./configure<br /><br />make<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make&nbsp;install&nbsp;<br /><br /><br /><br />&lt!--[if&nbsp;!supportLists]--&gt2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt!--[endif]--&gtarm:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./configure&nbsp;–arch&nbsp;arm<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make&nbsp;install<br /><br />OK,Qt嵌入式应用程序开发环境就搭建好了,比起前面的qt版本,新版本环境搭建明显简单了很多。<br /><br />To&nbsp;be&nbsp;continued……<br />&nbsp;<br /> &nbsp;&nbsp;<br />
miclinux 发表于 2009-6-4 14:01 | 显示全部楼层

好帖,顶

  
billen 发表于 2009-6-4 15:59 | 显示全部楼层

不简单啊,需要很多东西啊

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

77

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部