情况是这样的,某人最近入手一台nexus7,于是在cyanogenmod 将nexus7的原代码下载到本地,编译环境是UBUNTU 12,04
然后编译的时候,出现了如下的错误导致编译失败
target arm C++: libwebrtc_system_wrappers <= external/webrtc/src/system_wrappers/source/map.ccIn 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 1make: *** Waiting for unfinished jobs....
仔细一看,原来是webrtc编译出错,原因大概是因为编译的时候找不到c++的STL库而失败。
而我的编译环境里面是有STL 的,经过一番google之后,发现问题的原因是webrt编译脚本里面的一个bug,webrtc会检查是否你在环境变量里面定义过NDK_ROOT这个变量,如果定义了的话webrtc会找不到STL的头文件。。。。真是很诡异的bug
解决方法就是在环境变量里面,export NDK_ROOT = “” 然后重新编译
参考资料
原文地址:http://www.douban.com/note/261089625/