【问题标题】:How can I compile STL C++ for Android using custom Makefile?如何使用自定义 Makefile 为 Android 编译 STL C++?
【发布时间】:2014-11-12 23:02:09
【问题描述】:

我正在使用自定义 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 c++ stl makefile android-ndk


    【解决方案1】:

    我也有这个问题,所以我放了这三个,解决了。

    Android.mk

    LOCAL_CFLAGS := -D_STLP_USE_NEWALLOC
    LOCAL_C_INCLUDES += ${NDK_ROOT}/sources/cxx-stl/stlport/stlport
    LOCAL_LDLIBS    += -lstdc++
    

    【讨论】:

    • 谢谢。我可以确认,当使用自定义 Makefile 而不是 Android ndk-build 系统时,上述方法也有效
    猜你喜欢
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多