Я компилирую некоторые источники для Android, используя пользовательский Makefile, в соответствии с:
NDKDIR := /path/to/android-ndk-r10c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin
NDKCC := $(NDKDIR)/arm-linux-androideabi-gcc
NDKCXX := $(NDKDIR)/arm-linux-androideabi-g++
NDKFLAGS := -I/path/to/android-ndk-r10c/platforms/android-21/arch-arm/usr/include/
%.o: %.cpp
$(NDKCXX) $(NDKFLAGS) -c $< -o $@
Компиляция обычного C++ кода работает нормально, но все, что включает заголовки "STL", например, сбой queue
с "фатальной ошибкой: очередь: нет такого файла или каталога".
Есть ли способ сделать эту работу с заголовками STL?
У меня тоже была эта проблема, поэтому я разместил эти три и решил.
Android.mk
LOCAL_CFLAGS := -D_STLP_USE_NEWALLOC
LOCAL_C_INCLUDES += ${NDK_ROOT}/sources/cxx-stl/stlport/stlport
LOCAL_LDLIBS += -lstdc++