狀況是這樣的,某人最近入手一臺nexus7,因而在cyanogenmod 將nexus7的原代碼下載到本地,編譯環境是UBUNTU 12,04android
而後編譯的時候,出現了以下的錯誤致使編譯失敗c++
<pre><code>target arm C++: libwebrtc_system_wrappers <= external/webrtc/src/system_wrappers/source/map.cc In file included from external/webrtc/src/system_wrappers/source/map.cc:11:0:external/webrtc/src/system_wrappers/source/../interface/map_wrapper.h:14:15: fatal error: map: No such file or directory compilation terminated. make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebrtc_system_wrappers_intermediates/map.o] Error 1 make: *** Waiting for unfinished jobs....</code></pre>
仔細一看,原來是webrtc編譯出錯,緣由大概是由於編譯的時候找不到c++的STL庫而失敗。web
而個人編譯環境裏面是有STL 的,通過一番google以後,發現問題的緣由是webrt編譯腳本里面的一個bug,webrtc會檢查是否你在環境變量裏面定義過NDK_ROOT這個變量,若是定義了的話webrtc會找不到STL的頭文件。。。。真是很詭異的bugapp
解決方法就是在環境變量裏面,export NDK_ROOT = 「」 而後從新編譯ui
參考資料 http://stackoverflow.com/questions/11978919/android-building-fatal-error-map-no-such-filegoogle
原文地址:http://www.douban.com/note/261089625/code