Ubuntu 11.10編譯Android 錯誤

      由於在使用Ubuntu 11.04時系統老是死機,在忍無可忍的情況下決定升級到11.10。不過在升級完成後發現編譯android出現錯誤(之前是OK的),具體錯誤和解決辦法如下:

問題1:

frameworks/base/libs/utils/RefBase.cpp: 在成員函數‘void android::RefBase::weakref_type::trackMe(bool, bool)’中:
frameworks/base/libs/utils/RefBase.cpp:483:67: 錯誤: 將‘const android::RefBase::weakref_impl’作爲‘void android::RefBase::weakref_impl::trackMe(bool, bool)’的‘this’實參時丟棄了類型限定 [-fpermissive]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 錯誤 1

原因:Ubuntu 11.10的gcc 4.6版本太高了,android編譯需要gcc 4.4

解決辦法:更換gcc、g++版本4.6爲4.4

                         sudo apt-get install gcc-4.4

                         sudo apt-get install g++-4.4

                         sudo rm -rf /usr/bin/gcc /usr/bin/g++

                         sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

                         sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++

問題2:

g++: 錯誤: –fpermissive:沒有那個文件或目錄
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 錯誤 1

解決辦法:sudo apt-get install g++-4.4-multilib

經過此操作編譯可順利進行。

發佈了11 篇原創文章 · 獲贊 6 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章