fix android build error : undefined reference to __gxx_personality_v0 and __cxa_end_cleanup

在android 中移植一个库(该库 使用了 libstlport )时 产生如下错误:

prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: obj/EXECUTABLES/homographic_test_intermediates/libImage/image_io.o: in function std::vector<unsigned char, std::allocator<unsigned char> >::vector(unsigned int):external/stlport/stlport/stl/_vector.h:73: error: undefined reference to '__cxa_end_cleanup'


prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: obj/EXECUTABLES/homographic_test_intermediates/libImage/image_io.o:(.ARM.extab.text._ZNSt6vectorIhSaIhEEC1Ej+0x0): error: undefined reference to '__gxx_personality_v0'

解决 过程:

1. 添加

LOCAL_LDFLAGS := -Wl,-v

打印出配置信息

发现 缺少 stdc++ and supc++

 

2. 添加:

LOCAL_LDFLAGS += -Landroid/prebuilt/ndk/android-ndk-r6/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a -lstdc++\
        -Landroid/prebuilt/darwin-x86/toolchain/arm-linux-androideabi-4.4.x/arm-linux-androideabi/lib/armv7-a -lsupc++

 

问题解决 ^^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值