android make debug : (.ARM.exidx+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'

转载 2016年05月31日 22:05:16

前言

看到一个makefile编译后, 出现了编译错误.
最后一个错误是

D:\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\bin\arm-linux-androideabi-g++ -ID:\android-ndk
-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.9\include-fixed -ID:\android
-ndk-r10e\platforms\android-19\arch-arm\usr\include -LD:\android-ndk-r10e\platforms\android-19\arch-arm\usr\lib -lc -lgc
c -Bdynamic -nostdlib -fpic -ldl -o mysharedlibary mysharedlibary.o D:\android-ndk-r10e\platforms\android-19\arch-arm\us
r\lib\crtbegin_dynamic.o D:\android-ndk-r10e\platforms\android-19\arch-arm\usr\lib\crtend_android.o
mysharedlibary.o(.ARM.exidx+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'
collect2.exe: error: ld returned 1 exit status
make: *** [all] Error 1

在网上查资料,自己再做试验,解决了.
要加一个库libgccunwind.a, 那个库里有’__aeabi_unwind_cpp_pr1’
我用android-ndk-r10e做的试验.

# 编译CPP主程序调用CPP做的.so
# 主要是加 libgccunwind.a, 用来解决
# (.ARM.exidx+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'

NDK_ROOT=D:\android-ndk-r10e
TOOLCHAINS_ROOT=$(NDK_ROOT)\toolchains\arm-linux-androideabi-4.9\prebuilt\windows
TOOLCHAINS_PREFIX=$(TOOLCHAINS_ROOT)\bin\arm-linux-androideabi
TOOLCHAINS_INCLUDE=$(TOOLCHAINS_ROOT)\lib\gcc\arm-linux-androideabi\4.9\include-fixed
PLATFROM_ROOT=$(NDK_ROOT)\platforms\android-19\arch-arm
PLATFROM_INCLUDE=$(PLATFROM_ROOT)\usr\include
PLATFROM_LIB=$(PLATFROM_ROOT)\usr\lib
MODALE_NAME=mysharedlibary
RM=del

FLAGS=-I$(TOOLCHAINS_INCLUDE) \
      -I$(PLATFROM_INCLUDE)   \
      -L$(PLATFROM_LIB) \
      -lc \
      -lgcc \
      -Bdynamic \
      -nostdlib

OBJS=$(MODALE_NAME).o \
     $(PLATFROM_LIB)\crtbegin_dynamic.o \
     $(PLATFROM_LIB)\crtend_android.o \
     D:\android-ndk-r10e\sources\android\gccunwind\libs\armeabi-v7a\libgccunwind.a

all:
    cls
    $(RM) *.o
    $(RM) *.so

    $(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -fpic -g -c myls.cpp $(MODALE_NAME).cpp
    $(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -fpic -shared -o libmyls.so myls.o
    $(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -fpic -ldl -o $(MODALE_NAME) $(OBJS)

#删除所有.o文件
clean:
    $(RM) *.o
#安装程序到手机
install:
    adb push $(MODALE_NAME) /data/local/tmp
    adb shell chmod 755 /data/local/tmp/$(MODALE_NAME)
    adb push libmyls.so /data/local/tmp
#运行程序
run:
    adb shell echo $LD_LIBRARY_PATH
    adb shell export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp
    adb shell /data/local/tmp/$(MODALE_NAME)  

undefined reference to __aeabi_unwind_cpp_pr1, __cxa_end_cleanup

https://gcc.gnu.org/ml/gcc-help/2009-10/msg00320.html JJ writes: > I get undefined referenc...
  • ztguang
  • ztguang
  • 2016年02月01日 00:00
  • 857

GCC编译uboot出现(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'错误的解决办法

/opt/arm-2010.09/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/armv4t/libgcc.a(_bswapsi2.o):(.ARM.exid...
  • dddxxxx
  • dddxxxx
  • 2015年08月21日 00:00
  • 3109

关于arm-linux-gcc交叉编译工具链,实现自己的crt0或者编译UBOOT出现undefined reference to `__aeabi_unwind_cpp_pr0'的解决方法

GOOGLE老天天,英文看的头大了,也没找到解决方法.搜索出来的结果基本都说是EABI的原因,换成OABI就好了,要么就是glibc关系,要么就是换交叉工具链。我的交叉工具链是从arm指定的codes...
  • ExclusivePig
  • ExclusivePig
  • 2010年08月21日 21:08
  • 6736

编译错误undefined reference to `dlopen' 'dlsym' 'dlclose'的解决方法

编译遇到下面的错误: error: undefined reference to 'dlsym' error: undefined reference to 'dlopen' error: un...
  • Veabol
  • Veabol
  • 2017年07月25日 16:57
  • 535

Makefile编写执行问题,报错undefined reference to `main'

linux下,make报错一例
  • Shelton_Q
  • Shelton_Q
  • 2015年11月13日 00:13
  • 2127

编译错误undefined reference to `dlsym' 的解决方法

编译遇到下面的错误: error: undefined reference to 'dlsym' error: undefined reference to 'dlopen' error: un...
  • jingjing2009
  • jingjing2009
  • 2012年10月12日 09:57
  • 4151

----linux--内核编译的问题:undefined reference to `printascii'

undefined reference to `printascii' 转自: http://hi.baidu.com/yjicllignqbkovq/item/86170082250edd...
  • sno_guo
  • sno_guo
  • 2013年11月29日 19:47
  • 1321

Android Studio JNI 报错 - error: undefined reference to 'AndroidBitmap_getInfo'

学习JNI遇到了点坑 网上也能找到解决方案 但是发现不管用 error: undefined reference to 'AndroidBitmap_getInfo' error: undefin...
  • hzl4683451
  • hzl4683451
  • 2016年12月08日 09:09
  • 1084

AndroidStudio报错: undefined reference to 'AndroidBitmap_getInfo'

Error:(425) undefined reference to AndroidBitmap_getInfo' Error:(440) undefined reference toAndro...
  • lj402159806
  • lj402159806
  • 2017年04月03日 21:35
  • 1981

关于Android 链接库时 undefined reference to 的错误分析

我们在编译Android JNI的时候,经常要链接一些其他的开源库,我搞了几个项目,总是会碰到undefined reference to的问题,而且会重复被一个问题所困扰,浪费了很多宝贵的时间,经过...
  • blood_defences
  • blood_defences
  • 2012年06月18日 16:23
  • 6585
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android make debug : (.ARM.exidx+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'
举报原因:
原因补充:

(最多只允许输入30个字)