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)  
举报

相关文章推荐

连接时出错,(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

连接时出错: D:\Program Files (x86)\DS-5\bin\led_on_c>make arm-none-linux-gnueabi-gcc -g -c -o crt0.o c...

连接时出错,(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

原地址 http://blog.sina.com.cn/s/blog_67587e8c01016fdr.html 问题: arm-linux-gcc -g -c -o crt0.o crt...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

连接时出错(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

连接时出错(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'   2012-05-11 18:36:40|  分类...

连接时出错,(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

文件1:crt0.s.text.global _start_start:        ldr r0,=0x53000000      @WTCON      ...

连接时出错,(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

连接时出错: D:\Program Files (x86)\DS-5\bin\led_on_c>makearm-none-linux-gnueabi-gcc -g -c -o crt0.o crt0....
  • ce123
  • ce123
  • 2011-07-21 01:10
  • 14066

连接时出错,(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'

文件1:crt0.s .text .global _start _start:         ldr r0,=0x53000000      @WTCON    ...

android-opencv【 undefined reference to 】

1. opencv不同版本废弃的方法 2.3.1版本无此方法!!!     cvCopyImage(_candiImg, *candiImg);         更改为:...

drivers/video/fbmon.c:1047: undefined reference to `serial8250_start_console' make: *** [.tmp_vmlinu

LD      .tmp_vmlinux1 arch/arm/mach-s3c2410/built-in.o(.init.text+0xf9c): In function `s3c2410_gpio...

undefined reference to `udev_device_get_action'

/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libusb-1.0.a(libusb_1_0_la-linux_udev.o): In...

undefined reference to

一,举例 出错的时候是这样的: 出错的时候是这样的: 1 main:main.o Array.o 2 g++ main.o -o main 3 ./main 4 main.o:main...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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