记录几种ubuntu下android编译错误解决方法

来源:互联网 发布:php表单提交系统源码 编辑:程序博客网 时间:2024/06/04 18:22

基本以下几种错误都碰到了。。记录一下,以便以后再次碰到后好解决

参考网址:

http://liuju1234.blog.163.com/blog/static/16228152011101813615351/

http://blog.csdn.net/smilettxp/article/details/6711322


1.包含关键字-fpermissive的错误,

解决:找到对应报错的Android.mk文件,将LOCAL_CFLAGS := $(xxx)后面添加上参数-fpermissive,即LOCAL_CFLAGS := $(xxx) -fpermissive


2.包含关键字phread的错误,比如undefined reference to 'pthread_key_create','pthread_setspecific'等

解决:找到对应报错的Android.mk文件,将这几句

ifeq ($(HOST_OS),linux)
LOCAL_LDLIBS += -lrt
endif
改为
ifeq ($(HOST_OS),linux)
LOCAL_LDLIBS += -lrt -lpthread
endif


3. 包含关键字:“_FORTIFY_SOURCE”重定义 [-Werror]

解决:修改build/core/combo/HOST_linux-x86.mk

HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
改为
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
4./usr/bin/ld: cannot find -lxxx类型错误
解决:一般sudo apt-get install libxxx-dev即可。(关键字搜索一下libxxx,说不定是安装其他的)
其中碰到一个错误cannot find -lncurses,发现不同ubuntu版本解决方法不同:

ubuntu 11.04 32bit下命令如下
sudo apt-get install libncurses5-dev 

ubuntu 12.04 64bit下命令如下

sudo apt-get install libncurses5-dev:i386

原创粉丝点击