如何使用自定义 Makefile 编译 STL C++ for Android



我正在使用自定义的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++

最新更新