转载时请注明出处和作者联系方式
文章出处:http://blog.csdn.net/jack0106
作者联系方式:冯牮 [email protected]
libmeegotouch就是原来的dui(harmattan-ui-framework),它是现在meego上面的核心图形开发工具箱。
meego上应用程序的开发,可以使用开发板,也可以使用虚拟机(之前我写过一篇文档,在PC上安装handset版meego的qemu虚拟机 ),还可以在PC上安装libmeegotouch的开发环境,直接感受一下meego的UI用户体验。、
先说明一些基本情况:
1. libmeegotouch是一个基础库,基于QT,但是它不仅仅只包含.so文件。还包含了一些元对象编译工具,比如mmoc(qt里面有个元对象编译 工具moc,mmoc是meego提供的)。 还包含一些后台进程,比如mthemedaemon。
2. 另外,基于libmeegotouch的程序,在运行的时候,还依赖于meegotouch-theme,因此,还需要安装meegotouch-theme。
3. 由于对libmeegotouch的许多细节还不清楚,因此没有把libmeegotouch安装在常用的/usr目录下。在我的PC上,我把 libmeegotouch和meegotouch-theme都安装在目录/usr/local/Trolltech/MeegoTouch
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
下面开始配置安装:
1. 安装meegotouch-theme(这个主要是一些主题css文件等)。
1.1 从git://gitorious.org/meegotouch/meegotouch-theme.git上下载meegotouch-theme
1.2 进入目录meegotouch-theme。
1.3 执行qmake生成makefile,命令如下:
qmake PREFIX=/usr/local/Trolltech/MeegoTouch
1.4 执行sudo make install,进行安装
2. 安装libmeegotouch
2.1 从git://gitorious.org/meegotouch/libmeegotouch.git上下载meegotouch的源代码。
2.2 安装一些依赖库,sudo apt-get install libicu-dev graphviz doxygen 。(根据个人PC的配置情况,以及后面2.4的配置结果,可能还需要安装其他的一些依赖库)
2.3 进入目录libmeegotouch。
2.4 进入目录,执行configure脚本生成makefile,命令如下:
./configure -prefix /usr/local/Trolltech/MeegoTouch -testable -timestamps -coverage -pch -benchmarks -icu -tests -examples -gconf -dbus
2.5 执行make编译
2.5.1 编译前要确定完成下面的操作:
a、安装最基本的开发套件。sudo apt-get install build-essential。
b、安装gtk开发套件。sudo apt-get install gnome-devel gnome-devel-docs。
2.5.2 执行make
2.6 执行make doc编译帮助文档。
2.7 执行sudo make install。
3.编译example目录里面的 tutorial_music_catalogue 例子
3.1 tutorial_music_catalogue这个例子程序,有详细的介绍文档,在libmeegotouch的文档主页上,有个链接,名为 Your first MeeGo Touch application,适合做为入门文档。
3.2 由于libmeegotouch没有安装到标准路径下,因此需要修改它的pro工程文件,打开文件tutorial_music_catalogue.pro,在里面添加如下一段(如果meegotouch的安装路径不一样,请自行对应修改):
unix {
INCLUDEPATH += /usr/local/Trolltech/MeegoTouch/include/meegotouch
LIBS += -L/usr/local/Trolltech/MeegoTouch/lib -lmeegotouchcore -lmeegotouchextensions -lmeegotouchsettings -lmeegotouchviews
QMAKE_LFLAGS += -Wl,-rpath,/usr/local/Trolltech/MeegoTouch/lib
}
3.3 执行qmake生成Makefile,命令如下:qmake
3.4 执行make命令,由于这个Makefile中需要调用mmoc,因此,
先导出环境变量,PATH=/usr/local/Trolltech/MeegoTouch/bin/:$PATH
然后执行:make
3.5 运行tutorial_music_catalogue。
./tutorial_music_catalogue
3.6 libmeegotouch程序通用的命令行参数。
MComponentData: Usage: ./tutorial_music_catalogue
[-software] Enable software rendering
[-fullscreen] Make the application fullscreen
[-show-br] Show the bounding rectangle for all scene items
[-show-fps] Show the FPS for the view (only with OpenGL rendering)
[-log-fps] Log the FPS for the application
[-show-size] Show widget sizes in the scene
[-show-object-names] Show the names of the objects in the scene
[-show-position] Show widget positions in the scene
[-show-cursor] Force the cursor to be visible
[-reverse] Change the layout direction to right-to-left direction
[-dev] Enable development visualization mode
[-genimglist filename] Generate list of requested images to filename
[-remote-theme] Wait until remote theme daemon is available
[-local-theme] Force usage of local theme processing instead of remote theme daemon
[-output-level debug|warning|critical] Only show messages of given output level or above
[-output-prefix <prefix>] Only show debug messages that start with the given prefix
[-no-output-prefix <prefix>] Only show debug messages that do not start with the given prefix
[-target <name>] Use the target device profile
[-prestart] Prestart the application (if supported)
[-fixed-orientation 0|90|180|270] Start application in fixed orientation.
This overrides keyboard state, as well as a device profile
3.7 补充说明一下,tutorial_music_catalogue这个示例程序很新,它依赖的qt版本和libmeegotouch版本,都高于我们目前 使用的cdk上meego镜像中对应的qt和libmeegotouch版本,因此在cdk上不能运行。但是,不妨碍我们用它来学习入门。
4. 补充一些描述。
4.1 libmeegotouch是图形开发工具箱,从它的功能上来说,它相当于qt,gtk,clutter等这一类图形界面库。
4.2 libmeegotouch是基于qt的,准确点说是基于qt的graphicsview框架的,但是,它在graphicsview的基础上,又封装出一层widget。在使用方法上和设计模式上,和原始的graphicsview或qwidget,并没有太多的交集。
4.3 开发meego应用程序,如果没有qt开发经验,建议直接从libmeegotouch学起,在使用过程中,如果碰到了原始的qt中的class,再查阅对应的手册。这种学习路线,消耗的时间应该是最少的。
4.4 另外,虽然在PC上可以安装libmeegotouch,但是这毕竟不是meego的完整开发环境,它只负责meego的GUI部分,因此这篇文档介绍的方法,不能替代meego的完整开发环境。之所以在PC上安装libmeegotouch,一方面是让许多没有硬件开发环境的朋友也可以在PC上体验一下meego的界面操作方式,另一方面,也是想说明一下meego程序在开发上的灵活性,比如前端UI设计的时候,就可以先在PC上做一些原型设计。
4.5 关于meego app的开发,其实还有很多内容可以和大家讨论,下次再单独写一篇文档,介绍一下目前meego开发的进展和我的一些开发感受。