您的位置:首页 > 移动开发 > Android开发

Android NDK编译错误处理-- error: undefined reference to '__dso_handle'

2014-04-02 13:50 645 查看
在编译一个安卓NDK开源项目时,出现了 error: undefined reference to '__dso_handle'的错误。

本次编译采用NDK中的交叉编译器进行,没有使用NDK-BUILD的工具。

百度谷歌后,发现__dso_handle是glibc的一个函数,有诸如增加extern C{ void * __dso_handle = 0 ;}这样的解决办法。

但在本项目中,有一些不可修改的.a也报这个错误,所以认定本次问题为编译问题。然后查找NDK文档,在

USING THE ANDROID TOOLCHAIN AS A STANDALONE COMPILER

一节中,讲述了在编译时,要设置SYSROOT,所以在Makefile中,增加如下修改,问题解决。--其中红色部分为新增

CC := $(ANDROID_NDK_HOME)/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=$(SYSROOT)

GCC := $(ANDROID_NDK_HOME)/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-g++
--sysroot=$(SYSROOT)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐