libmeegotouch編譯安裝教程
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
留言列表