我正在使用自定义的Makefile编译一些Android源代码,如下所示:
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++