接上,make完之后make install。然后添加环境变量,gedit /etc/profile 在里面的最后添加:
export PATH=/usr/local/Trolltech/Qt-4.7.0/bin:$PATH
点击保存,命令;source /etc/profile使之生效。
然后终端里输入qmake,检查是否安装成功。
接下来,要安装qt的开发IDE,qtcreator,我下载的是qt-creator-linux-x86-opensource-2.5.0,低版本的下不到了。
命令:chmod +x qt-creator-linux-x86-opensource-2.5.0.bin增加可执行属性。命令:./qt-creator-linux-x86-opensource-2.5.0.bin 进行安装。
一切顺利!完毕后找到安装目录下的bin下的qtcreator,打开。看到久违的Qt Welcome界面!您是否欣慰呢??
此时如果您创建项目是不会成功的,因为我们是分开安装的qt4.7.0库和qt creator这个IDE,要配置一下。点击qtcreator的Tools----》Options--------》Build&Run-----------》Qt Versions 选择Add,将qt4.7.0的安装目录下的bin/qmake添加进去就可以了!
下面新建一个项目试一下,点file ----new选择Applications,选择Qt Gui Application,会出现一下界面:
让人小吃一惊,QT把 Embeded Linux开发已经做到IDE去了,目前还不知道杂用,但配置好会方便交叉编译 移植工作吧!前路漫漫,待继续研究一番。
平台双寡头例外的地区
iOS,Android和mobile web在全球范围被开发者采纳,存在地域有差别。欧洲,北美开发者喜欢将iOS作为主要开发平台,而亚洲、非洲和南美则是Android。这和消费者价格敏感保持一致。
尽管Android,iOS双寡头平台更加巩固,有两个例外。第一、Java ME是非洲第二大平台,表明大量低价功能手机仍在那里使用,机会出现在功能手机创新(例如,M-Pesa 移动支付)。于此同时,有将近一半非洲开发者选择Android,反映市场潜力对价格敏感。例如,华为售价$80的Android手机IDEOS在2011年年中在肯尼亚卖断货。
“J2ME的开发仍大多在南部非洲,但是本地开发者正在逐渐转移到智能手机平台”Glenn Stein,PhraZApp创建者,Vodacom应用执行比赛的获奖者。
第二个例外是南美,那里mobile web获得开发者的钟爱。有27%的开发者将之作为主要平台,mobile web在南美获得了比其他大陆更高的开发者渗透率。然而,这地区大部分开发者使用mobile web更多针对功能手机而非智能手机。此外,Symbian和黑莓在南美相对其他地区仍有大量的销售。总体而言,南美比其他地区的平台组合更为均衡。
平台选择中达到率比收入更重要
在移动生态系统的演化整个过程中,开发者最主要的选择平台的动机是尽可能到达更多的用户。不考虑的主要平台,有超过一半的开发者认同有大量可安装设备仍旧是选择的最高准则。一个北美创业公司的高级Android开发者解释道:“我们是创业公司,对获取金钱不感兴趣,我们只是需要能尽可能得到更多的用户”。
“我们是创业公司,对获取金钱不感兴趣,我们只是需要能尽可能得到更多的用户”。工程总监,北美。
相反,只有30%的开发者选择收入潜力,比上一年的仅过10%有所增长。到达率比其他所有的平台选择标准更为重要,解释了开发者对iOS和Android青睐的巩固。
达到用户、到达眼球、到达钱包是选择平台的根本原因。
一旦应用可能到达,广告展示,付费下载,订购和分销交易就可随之而来。值得注意的是,和其他标准不同,选择用户达到与开发者经验相关。也就是,更有经验开发者比初入行者更看重用户到达。经验丰富开发者更理解用户到达到达能过驱动任何和所有的货币化模式,保障他们在平台上的投资。开发成本也是选择平台的头5个重要因素,不考虑使用的主要平台,有43%开发者认同,明显比超过熟悉的开发环境(30%)。我们从2010年到2012年观察到一个持续倾向,开发者变得越来越具商业头脑,将平台的潜在的成本和收入作为选择的因素。开发者已经认识到平台采纳需重大投资,包括时间和金钱,我们将在报告的第三部分进行分析。简单地说,开发者选择平台基于如何能够到达更多用户的最佳成本效益。
文档和技术支持被30%的开发者(不考虑所使用的主要平台)强调重要。去年,只有18%的开发人认同。这个变化表明新开发者面临的挑战。
有趣的是,有相对比例(18%)的开发者(不考虑所使用平台),仍将开源作为平台的价值属性。开源使开发者可在平台上“做得更多”和“贡献更多”。这倾向在Qt社区最为显著(55%的Qt开发者),接下来是Android和mobile web开发者。
HTML还是原生?
这个问题经常被问及,包括开发者和准备进入移动领域的品牌。实际上,这个问题是错误的。有三个决定因素影响开发者选择:
1、现有资源。你的开发团队了解哪些开发语言?你原来的内容资源是用哪种语言编程?
2、体验的深度 vs 广度:你是否需要深度体验,以及是否需要直接在平台上编程?或者广度更为重要,这会引导你使用跨平台工具(PhoneGap,Sencha,Appcelerator)?
3、发布渠道和货币化:是否是已有消费者账单的主流品牌,还是你需要通过应用商店到达消费者并计费?
决定并不是HTMLvs原生,而是根据上面三点进行判断。例如,一个媒体品牌可能使用现有的HTML内容资源,将代码封装到一个原生的应用,并在原生应用商店发布。有或者一个棒球应用开发者可能选择iOS来得到更深入的现场视频体验,但市场和发布是通过Facebooke App Center,面向经过仔细筛选的人群。
自然,平台选择标准在不同平台开发者上有很大差异。
Android开发者绝大部分基于低成本开发和用户到达。Android到达率是肯定得到保障,累计有超过300M台设备销售,而开发者成本随者碎片化(4千或更多,见第4部分)的猖獗而增加,这影响开发复杂性和质量保证。有趣的是,更多的Android开发者认为平台的开源比潜在收入更为重要。
黑莓开发者则是另一方面,主要是收入潜力驱动,比其他开发者要多。大量可安装设备和低开发成本同样也被大部分黑莓采纳者视为重要。
iOS开发者选择平台的理由非常坚定:到达率和收入潜力。其它的唯一被超过20%的iOS开发者强调的是文档质量和支持。
采用mobile web作为主要平台的开发者的举出的理由和Android的相似:最大程度的到达和最低的成本。与Android不同的是,mobile web开发者对使用熟悉开发环境非常关注,这表明很多转移到mobile web开发者有web开发背景。
Windows Phone开发者和其他生态系统相比很特别。他们对到达率不怎么关心,而目前为止,微软移动平台的出货量只有10M。相反,文档和开发环境熟悉对他们很重要,表明他们中很多人有Windows PC开发背景。有16%的WP开发者,是所有平台比例最高的,同时表述对资助机会的关注,因为微软和Nokia已经提供大量财政资源来资助开发WP7应用。
开发者的情感
为了衡量开发者对这些主流平台的情感,我们让受访者评价他们所用的主要平台的几个关键方面。如表所示,揭示了各平台有哪些成功和失败。
iOS开发者显然最为富裕,在获得收入方面远比Android开发者满意。与此同时,学习曲线和开发者成本是iOS开发者最大的负担;在这里开发者感受到Objective-C难度和购买Mac开发iOS的成本压力。
Android开发者与其他生态系统相比是最中性的,只在获取收入方面下降。尽管付费应用可以向很多国家提供,Android在货币化方面得分仍是持续低,因为相对很少Android用户提供信用卡给应用商店。在这方面,Android和iOS相比是显著缺点。作为Google战略疏忽,2012年推出的Android v4,是要求用户注册信用卡的第一个版本。相反,从2008年,信用卡收录就是iOS核心的注册流程,这个战略对帮助Apple于2012年Q2在App Store中有超过400M帐号起到关键作用。
黑莓开发者整体表现对平台不满。一方面,黑莓可快速开发或产生更多收入。我们看到很多Android开发者使用黑莓作为第二发布渠道,这是因为黑莓货币化潜力。另一方面。开发者认为黑莓能力低于其他平台的平均水平。开发者青睐指数在下降,整体具有负面情绪,而基于QNX的黑莓10仍未能推出。如果有黑莓“开发者股价”,那可能和RIM的股价相似。黑莓的没落是不幸的,我们看到就应用开发者收入而言,它有一个很强健的生态系统。
Mobile web开发者是快乐的一群。他们满意平台到达率,他们同样满意地低开发成本,易于编程,以及学习曲线。这不令人惊讶,他们大部分都有超过三年的web开发经验。唯一严重的挑战是API能力的限制。尽管有很多努力来减轻web和原生之间的功能滞后,特别是PhoneGap和Boot2Gecko(现在的Firefox OS),移动web在API完整性方面仍然落后原生很多步。
相关链接:我的产业生态链和杂谈文章
Android的开发环境环境搭建比IOS简单得多,Eclipse+Android SDK+Eclipse插件即可满足需求,如果搭建环境我就不多提了,这里想着重提两点:
- Android源码关联
- device与server网络连通
如何关联Android源码,以便更好的使用API,可以参考我之前很早的一篇blog:《在Eclipse里关联Android源码的简单办法》。
这里就重点谈谈如何搭建device与server的网络环境。现在的移动应用一般都需要server的搭配,开发时免不了需要联调device与server的网络连接,依情况可分为以下三种:
- 模拟器与本地server的连接
- device与本地server的连接
- device与远程server的连接
1)模拟器与本地server的连接
这里比较简单,但需要注意的是android模拟器是基于虚拟机的,它不是直接与本地网卡连接,它基于虚拟路由转接,因此它访问本地server不是用localhost,而是用10.0.2.2,具体原因可以见官方文档:http://developer.android.com/tools/devices/emulator.html#networkaddresses. 为了方便测试网络连通性,最好在本地搭一个apache,放一个很简单的测试页面,当怀疑是网络连接问题时,可以在浏览器里访问这个页面:
另外一点,如果模拟器需要访问公网,并且主机需要通过代理上网,那么模拟器需要设置代理,具体方法就是在Eclipse的Android Application Run里加上-http-proxy的配置,如下图所示:
2)device与本地server的连接
这里如果有wifi就非常简单,主机和device都连接到wifi热点,device直接访问主机ip即可。
在没有wifi热点的情况下,如果主机有无线网卡就可以只建wifi,网上有很多文章讲如何通过无线网卡自建wifi,这里我推荐一个小工具:Connectify(http://www.connectify.me),通过它可以免去复杂的配置,设置好Hotspot Name和passord后,点击start hotspot即可:
之后,device就像连wifi一样,连上Connectify,一般来说ip是:192.168.159.1
3)device与远程server的连接
如果server是公网的,那device能上网就行,这里我想谈谈对于我们这些自由开发者,该如何打造一个零成本的公网网络环境。这里就得用上现在炒得火热的云服务了。换做以前我肯定会推荐google app engine,不过现在被墙,国内的阿里云的云服务可以试一下。不过真正现在做得成熟还是amazon,如何在amazon搭建server可以参考我之前的一篇blog:《基于Amazon
EC2反向代理Google App Engine》