android5.0源碼編譯錯誤小結

//------------------------2016.8.20--------------------

問題一:

make: *** No rule to make target `out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/export_includes',

needed by

`out/host/linux-x86/obj/SHARED_LIBRARIES/libartd_intermediates/import_includes'.  Stop.

解決思路:

這個問題是我成功編譯整個系統後,編譯單個art模塊mmm -B art 時出的錯。

尋找out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/這個路徑,發現這個路徑是空的。整個文件夾沒有,再源碼路徑下搜索libgtest發現了external目錄下有對應的文件目錄。因此,mmm external/gtest    先編譯gtest模塊,發現果然生成了out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/路徑,再mmm art即可成功編譯。


問題二:

undefined reference to ‘dwfl_module_……

提示某個android系統自帶文件錯誤。某個成員變量或者方法未定義

解決思路:

一般是編譯意外中斷導致某個鏈接庫沒有編譯完成。尋找方法所在的類所在的根目錄。重新編譯這個模塊。

搜索dwfl,發現能再/external/elfutils目錄裏面找到,因此 mmm -B external/elfutils 即可




小結:

android源碼編譯錯誤一般通過搜索錯誤的相關關鍵字,查找錯誤發生的所在模塊,如果對應模塊無法編譯,再尋找該模塊所需要的模塊進行編譯。


//------------------------2016.8.20--------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章