1.qt sdk安装
Meego touch安装需要qt的版本为4.7或者以上,如果你没有安装qt或者你的版本过低的话,那可以前往以下链接进行下载,
http://qt.nokia.com/developer/qt-qtcreator-prerelease,下载Pre-Releases版本,完成后解压,切换到代码目录。
依次执行:
make
make install
ps:configure之所以加-dbus主要是编译Meego touch的时候需要dbus的库
此步骤详细过程请点击这里
2.Meego touch代码下载
使用git clone git://gitorious.org/meegotouch/libmeegotouch.git 下载代码,
然后执行 chmod 777 -R libmeegotouch,给下载下来的源码全部加上最高权限
3.meego touch编译与安装
安装必备库:libfontconfig1-dev libfreetype6-dev libx11-devlibxcursor-dev libxext-dev libxfixes-dev libxft-dev libxi-devlibxrandr-dev libxrender-dev
安装完了以上的库,但是却没有很顺利的把代码编译成功,最后通过错误修改才编译成功,具体修改如下:
1).安装libgconf2-dev和libdbus-qt-1-dev库(对应于错误三的信息)
2).修改libmeegotouch/src/corelib/i18n/mlocale.cpp的279行,给函数 static bool isTwelveHours(const QString &icuFormatQString)
的开始和结尾加上HAVE_ICU的宏(对应于错误一的信息)
3).修改libmeegotouch/configure,将HAVE_DBUS=no改为yes(对应于错误二的信息)
按照以上三个步骤修改完毕,然后切换到libmeegotouch,依次执行:
make
make install
耐心等待,如果不出什么意外,就会成功的编译完成。如果你在编译还有什么问题,可以一起讨论哦~
[转载请注明出处:MeeGo中文论坛 米趣网]
附:
错误一:
make[ 2 ]: *** [ . obj / mlocale . o] 错误 1
make[ 2 ] :正在离开目录 ` / home / chen / MeeGo / libmeegotouch / src / corelib'
make[ 1 ]: *** [sub-corelib-make_default-ordered] 错误 2
make[ 1 ] :正在离开目录 ` / home / chen / MeeGo / libmeegotouch / src'
make: *** [sub-src-make_default-ordered] 错误 2
错误二:
workspace / mdeviceprofile . cpp: 119 : error: ‘mmPerInch’ was not declared in this scope
make[ 2 ]: *** [ . obj / mdeviceprofile . o] 错误 1
make[ 2 ] :正在离开目录 ` / home / chen / MeeGo / libmeegotouch / src / corelib'
make[ 1 ]: *** [sub-corelib-make_default-ordered] 错误 2
make[ 1 ] :正在离开目录 ` / home / chen / MeeGo / libmeegotouch / src'
make: *** [sub-src-make_default-ordered] 错误 2
错误三:
../ src / corelib / core / mgconfitem . cpp: 29 : 32 : error: gconf / gconf-client . h: 没有那个文件或目录
../ src / corelib / core / mgconfitem . cpp: 39 : error: ‘guint’ does not name a type
../ src / corelib / core / mgconfitem . cpp: 42 : error: ‘GConfClient’ has not been declared
../ src / corelib / core / mgconfitem . cpp: 42 : error: ‘guint’ has not been declared
../ src / corelib / core / mgconfitem . cpp: 42 : error: ‘GConfEntry’ has not been declared
../ src / corelib / core / mgconfitem . cpp: 42 : error: ‘gpointer’ has not been declared
../ src / corelib / core / mgconfitem . cpp: In constructor ‘MGConfItemPrivate :: MGConfItemPrivate()’:
../ src / corelib / core / mgconfitem . cpp: 33 : error: class ‘MGConfItemPrivate’ does not have any field named ‘notify_id’
../ src / corelib / core / mgconfitem . cpp: At global scope:
../ src / corelib / core / mgconfitem . cpp: 49 : error: expected initializer before ‘*’ token
make[ 1 ]: *** [mgconfitem . o] 错误 1