Mac OS X Lion 下编译Android 源码

2014-11-24 12:31:37 · 作者: · 浏览: 2

1、错误信息:


./external/elfutils/config-compat-darwin.h:42: error: static declaration of ‘strnlen’ follows non-static declaration


/usr/include/string.h:143: error: previous declaration of ‘strnlen’ was here


make: *** [out/host/darwin-x86/obj/STATIC_LIBRARIES/libelf_intermediates/lib/xmalloc.o] Error 1


网上的资料说打开./external/elfutils/config-compat-darwin.h这个文件,把


static inline size_t strnlen (const char *__string, size_t __maxlen)


{


int len = 0;


while (__maxlen-- && *__string++)


len++;


return len;


} 这个函数用宏给括起来,我干脆给删掉了,当然先把这个文件给备份了。


再次执行make时


2、错误信息


Undefined symbols for architecture i386:


网上资料说把external/qemu/Android.mk这个文件全部注释掉


再次执行make,就没有出现error了,并在/out/target/product/generic下面生成了ramdisk.img,system.img,userdata.img三个文件。


我用的是make -j8 ,我的是4核,8个G的内存。