我正在使用自定义 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” header 的代码(例如 queue
)都会失败并显示“ fatal error :队列:没有这样的文件或目录”。
有什么方法可以使它与 STL header 一起工作吗?
最佳答案
我也有这个问题,所以我把这三个放在一起,然后解决了。
安卓.mk
LOCAL_CFLAGS := -D_STLP_USE_NEWALLOC
LOCAL_C_INCLUDES += ${NDK_ROOT}/sources/cxx-stl/stlport/stlport
LOCAL_LDLIBS += -lstdc++
关于android - 如何使用自定义 Makefile 为 Android 编译 STL C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26898331/