Проблема возникает и в 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.: Предполагается, что код компилируется для API8 (Android 2.2) с использованием NDK. Пожалуйста, измените путь к правильному пути согласно вашему требованию.
ПРИМЕЧАНИЕ 2: Настройка используемых флагов:
./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"