Hi,
Am 06.06.2012 13:09, schrieb mao xu:
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.
have you read the Android section in docs/INSTALL where I explained how
to create a standalone toolchain from NDK?
Gün.
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html