在陆续发布了MeeGo移动终端设备开发的UI设计基础等教程后,我们将为您介绍一些MeeGo开发环境的教程。可能很多朋友会问,搭建MeeGoTouch环境的文章网上很多,为什么要搭建呢?细心的朋友可能会发现,我这里不需要编译QT4.7,而是使用QT4.7SDK搭建环境。编译QT4.7一般需要一个下午左右的时间,但是用SDK搞定不超过20分钟。这也是希望大家能有更快的方式来玩MeeGo。QT-sdk-linux-x86-opensource-2010.05-rc1.bin下载1.安装QT-sdk-linux-x86-opensource-2010.05-rc1.bin命令:chmod777QT-sdk-linux-x86-opensource-2010.05-rc1。bin./QT-sdk-linux-x86-opensource-2010.05-rc1.bin2。下载编译好的dbus库文件(附件中),放入QT2010.05的库中。安装g++sudoapt-getinstallg++3.安装依赖库文件:(1)安装依赖库sudoapt-getinstalllibfontconfig1-devlibfreetype6-devlibx11-devlibxcursor-devlibxext-devlibxfixes-devlibxft-devlibxi-devlibxrandr-devlibxrender-dev(2)安装dbus库sudoapt-getinstalllibgconf2-devlibdbus-QT-1-dev(3)修改libmeegotouch/configure,将HAVE_DBUS=no改为yes4。安装meegotouch-theme(这里主要是一些主题css文件等)(1)下载meegotouch-theme代码gitclonegit://gitorious.org/meegotouch/meegotouch-theme.git然后执行chmod777-Rlibmeegotouch,添加最高对所有下载源码的权限(2)进入目录meegotouch-theme。cdmeegotouch-theme/(3)执行qmake生成makefile:qmake(4)安装sudomakeinstall注意:使用make时,可能会说make的版本不是4.7。如果qmake和qt4连接有问题,可以输入如下命令测试$qmake-v出现如下情况:$Qmakeversion:1.07a(QT3.3.8b)$QmakeisfreesoftwarefromTrolltechASA。为什么qmake的版本改成了qt3,进入/usr/bin目录下root@ubuntu:/home/yyy#cd/usr/binroot@ubuntu:/usr/bin#ls-lqmakelrwxrwxrwx1rootroot232009-10-0909:35qmake->/etc/alternatives/qmake查看qmake信息,是一个链接指向/etc/alternatives/qmakeroot@ubuntu:/usr/bin#ls-l/etc/alternatives/qmakelrwxrwxrwx1rootroot182009-12-0812:46/etc/alternatives/qmake->/usr/bin/qmake-qt3终于找到root了,原来qmake设置为qmake-qt3#p#强行修改root@ubuntu:/usr/bin#rm/etc/alternatives/qmakeroot@ubuntu:/usr/bin#ln-s/usr/bin/qmake/etc/alternatives/qmakeroot@ubuntu:/usr/bin#qmake-vQMakeversion2.01a使用QTversion4.5.0in/usr/lib5.安装libmeegotouch(1)下载源码gitclonegit://gitorious.org/meegotouch/libmeegotouch.git然后执行chmod777-Rlibmeegotouch,给所有下载的源码添加最高权限(2)安装一些依赖库。(根据个人PC的配置和2.4之后的配置结果,可能还需要安装一些其他的依赖库)sudoapt-getinstalllibicu-devgraphviz(3)进入目录libmeegotouch。cdlibmeegotouch(4)进入目录生成makefile:qmake(5)执行make编译make(6)在/usr/local/lib下的目录下安装sudomakeinstall,找到生成的MeeGo库文件做法:1)写一个hello世界代码main.cpp#include#include#include#includeintmain(intargc,char**argv){MApplicationapp(argc,argv);MApplicationWindow窗口;MApplicationPage页面;page.setTitle("MyFirstPage");page.setCentralWidget(newMLabel("HelloWorld!"));页面出现(&窗口);窗口显示();returnapp.exec();}HelloWorld.pro#######################################################################由qmake(2.01a)自动生成??9?1221:36:222010########################################################################TEMPLATE=appTARGET=DEPENDPATH+=.INCLUDEPATH+=.CONFIG+=meegotouch#InputSOURCES+=main.cpp如下图:生成makefileqmake执行makemake运行程序记得加sudosudo./helloWorld程序运行结果如下:2)在example目录下编译一个tutorial_music_catalogueexample(1)啧啧示例程序orial_music_catalogue有详细的介绍文档。在libmeegotouch文档的首页,有一篇介绍你的第一个MeeGoTouch应用,适合作为介绍文档。(2)由于libmeegotouch没有安装在标准路径下,需要修改其pro工程文件,打开文件tutorial_music_catalogue.pro,在其中添加如下一段(如果meegotouch安装路径不同,请相应修改):unix{INCLUDEPATH+=/usr/local/include/meegotouchLIBS+=-L/usr/local/lib-lmeegotouchcore-lmeegotouchextensions-lmeegotouchsettings-lmeegotouchviewsQMAKE_LFLAGS+=-Wl,-rpath,/usr/local/lib}(3)执行qmake(4)执行make,如果有问题,可能是因为mmocPATH=/需要在这个Makefile中调用usr/local/bin/:$PATHmake(5)运行tutorial_music_cataloguesudo./tutorial_music_catalogue如果有花屏,可以执行以下命令:(不是所有的电脑都会出现黑屏或者花屏,所以运行程序的时候可以自己尝试不同的情况)sudo./tutorial_music_catalogue-software#p#结果程序执行后的图片:第一页,第二页d页,第三页(6)libmeegotouch程序常用命令行参数。MComponentData:Usage:./tutorial_music_catalogue[-software]启用软件渲染[-fullscreen]使应用程序全屏显示[-show-br]显示所有场景项的边界矩形[-show-fps]显示视图的FPS(仅使用OpenGL渲染)[-log-fps]记录应用程序的FPS[-show-size]在场景中显示小部件大小[-show-object-names]Showthenamesoftheobjectsinthescene[-show-position]Showwidgetpositionsinthescene[-show-cursor]Forcethecursortovisible[-reverse]将布局方向更改为从右到左的方向[-dev]启用开发可视化模式[-genimglistfilename]生成请求的图像列表到文件名[-remote-theme]等待远程主题守护程序可用[-theme]Forceusageoflocalthemeprocessinginsteadofremotethemedaemon[-output-leveldebug|warning|critical]Onlyshowmessagesofgivenoutputlevelorabove[-output-prefix]Onlyshowdebugmessagesthatstartwiththegivenprefix[-no-output-prefix]Onlyshowdebugmessagesthatdonotstartwiththegivenprefix[-target]Usethetargetdeviceprofile[-prestart]Prestarttheapplication(如果支持)[-fixed-orientation0|90|180|270]Startapplicationinfixedorientation。这个overrideskeyboardstate,还有一个deviceprofile(7)tutorial_music_catalogue和它依赖的QT示例程序都很新,libmeegotouch版本高于当前MeeGo镜像中对应的QT和libmeegotouch版本,所以不能在开发板和虚拟机中运行.不过,并不妨碍我们用它来学习和入门。example目录下的其他示例程序基本可以在开发板上运行。添加一些说明。1.libmeegotouch是一个图形开发工具箱。从功能上来说,相当于QT、gtk、clutter等图形界面库。2libmeegotouch是基于QT的,准确的说是基于QT的graphicsview框架,只是在graphicsview的基础上,封装了一层widgets。在用法和设计模式上,与原来的graphicsview或qwidget并没有太多的交集。3开发MeeGo应用,如果没有QT开发经验,建议直接从libmeegotouch学习。在使用过程中,如果遇到原来的QT类,那就参考对应的手册。这条学习路线应该消耗最少的时间。4另外,libmeegotouch虽然可以安装在PC上,但毕竟不是MeeGo的完整开发环境,它只负责MeeGo的GUI部分,所以本文档介绍的方法不能替代MeeGo的完整开发环境米戈。之所以在PC上安装libmeegotouch,一方面是为了让很多没有硬件开发环境的朋友也可以在PC上体验MeeGo的界面操作。另一方面,我也想说明一下MeeGo程序开发的灵活性,比如在设计前端UI的时候,可以先在PC上做一些原型设计。【编者推荐】MeeGo移动终端设备开发UI设计基础教程详解Meego开发中安装Dropbox等应用揭秘MeeGo开发15个事实在Linux上使用MeeGoSDK进行Meego开发虚拟机操作系统与Meego开发MeegoSDK安装过程详解