I'm cross-compiling libcurl with ARM toolchain provided by android NDK r8. My 
output libcurl.so has an undefined symbo __cxa_begin_cleanup. Use command 
"readelf -s" can find it :
168: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __cxa_begin_cleanup
When creating my executable with libcurl.so and some other libraries, a link 
error reported:
hidden symbol __cxa_begin_cleanup in libstdc++ is referenced by DSO.
This symbol in libstdc++.so is a hidden symbol , so linker can not resolve the 
undefined symbol in libcurl.so .
I check other share libraries. Some of them contain this symbol also, but it's 
not undefined symbol in those libraries. They seems copy that symbol's 
implementation to themselves from libstdc++, while libcurl does not copy. 
My command to produce libcurl.so is :
arm-linux-androideabi-gcc -shared  .libs/file.o (and other .o files)   
-L/opt/android-ndk-r8-standalone/arm-linux-androideabi/libs/armeabi-v7a 
-L/opt/android-ndk-r8-standalone/sysroot/usr/lib -lz -mandroid -march=armv7-a 
-mfloat-abi=softfp -mfpu=vfp -mthumb   -Wl,-soname -Wl,libcurl.so.5 -o 
.libs/libcurl.so.5.2.0
I'v tried adding "-nostdlib -lgcc" to the command, but produce same result.
Could anybody help me to resolve this issue. It has blocked me for many days.
Thanks in advance.
sonmerfield
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to