Проблема возникает и в NDK r7c (linux).
Я обнаружил, что цепочка инструментов игнорирует местоположение платформы ($ NDK_ROOT / platform / android-8 / arch-arm / usr / lib /) и ищет его в пути цепочки инструментов, что неверно.
Однако, поскольку цепочка инструментов также ищет файл в текущем каталоге, одним из решений является привязка правильной платформы crtbegin_so.o и crtend_so.o к исходному каталогу:
cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtbegin_so.a
cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtend_so.a
ПРИМЕЧАНИЕ 1: Этот ответ не относится к родосу
ПРИМЕЧАНИЕ 2: Предполагается, что код компилируется для API8 (Android 2.2). Пожалуйста, измените путь к правильной платформе согласно вашему требованию.
ПРИМЕЧАНИЕ 3: Настройка используемых флагов:
./configure \
--host=arm-linux-androideabi \
CC=arm-linux-androideabi-gcc \
CPPFLAGS="-I$NDK_ROOT/platforms/android-8/arch-arm/usr/include/" \
CFLAGS="-nostdlib" \
LDFLAGS="-Wl,-rpath-link=$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/ -L$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/" \
LIBS="-lc"