I tried your suggestions and they did not work for me:
valeriy@ghostwheel ~ $ cat android-stl.cc
#include <string>
#include <iostream>
int main() {
std::cout << std::string("Hello, Android STL!\n");
return 0;
}
valeriy@ghostwheel ~ $ cat build-android.sh
#!/bin/bash
NDK="/home/valeriy/ANDROID/NDKs/android-ndk-r8/"
$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-
linux-androideabi-g++ \
-fPIC \
--sysroot=$NDK/platforms/android-14/arch-arm \
-DANDROID \
-Wno-psabi \
-fsigned-char \
-mthumb \
-march=armv7-a \
-mfloat-abi=softfp \
-mfpu=neon \
-Wall \
-Wextra \
-Wcast-align \
-Wno-unused \
-Wno-missing-field-initializers \
-fno-strict-aliasing \
-Wno-cast-align \
-fexceptions \
-isystem $NDK/sources/cxx-stl/gnu-libstdc++/include \
-isystem $NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/
include \
-O3 \
-DNDEBUG \
-fexceptions \
-Wl,--no-undefined \
-Wl,--fix-cortex-a8 \
-L"$NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a" \
-lgnustl_static \
-lsupc++ \
android-stl.cc
valeriy@ghostwheel ~ $ bash ./build-android.sh
/tmp/ccGCXY7p.o: In function `global constructors keyed to
android_stl.cc':
android-stl.cc:(.text+0x8): undefined reference to
`std::ios_base::Init::Init()'
android-stl.cc:(.text+0x24): undefined reference to
`std::ios_base::Init::~Init()'
/tmp/ccGCXY7p.o: In function `main':
android-stl.cc:(.text+0x3a): undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string(char const*, std::allocator<char> const&)'
android-stl.cc:(.text+0x4a): undefined reference to
`std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char>
>(std::basic_ostream<char, std::char_traits<char> >&, char const*,
int)'
android-stl.cc:(.text+0x6a): undefined reference to
`__gnu_cxx::__exchange_and_add(int volatile*, int)'
android-stl.cc:(.text+0x76): undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_M_destroy(std::allocator<char> const&)'
android-stl.cc:(.text+0x80): undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::~basic_string()'
android-stl.cc:(.text+0x86): undefined reference to
`__cxa_end_cleanup'
android-stl.cc:(.text+0x94): undefined reference to `std::cout'
android-stl.cc:(.text+0x98): undefined reference to
`std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_S_empty_rep_storage'
/tmp/ccGCXY7p.o:(.ARM.extab+0x0): undefined reference to
`__gxx_personality_v0'
collect2: ld returned 1 exit status
On May 13, 10:45 am, David Turner <
di...@android.com> wrote:
> 1/ Don't add -lstdc++
> 2/ -lsupc++ should appear _after_ -lgnustl_static
>
> On Sat, May 12, 2012 at 4:00 PM, Valeriy Sokolov
> <
sokolov.val...@gmail.com>wrote:
> > *-lstdc++ -lsupc++ -lgnustl_static* android-stl.cc