不能包含Android NDK r5的STL头文件

时间:2010-12-16 17:46:52

标签: c++ android cygwin android-ndk android-ndk-r5

我有一个非常简单的应用程序:

#include <vector>

void android_main(struct android_app* state)
{

}

当我构建它时,我收到以下错误:

  

test / jni / main.c:14:18:错误:向量:   没有这样的文件或目录

我该如何包含STL头文件?我找到了stlport,我可以在它的目录中看到头文件,但是如何包含它们?

编辑:我的Application.mk文件包含以下行:

APP_STL := stlport_static

2 个答案:

答案 0 :(得分:5)

  

test / jni / main.c :14:18:错误:vector:没有这样的文件或目录

您可能正在使用C编译器进行编译。将扩展名更改为* .cpp并检查是否在工具链中调用了C ++编译器。

答案 1 :(得分:4)

阅读$ NDKROOT / docs中的文档。特别是CPLUSPLUSSUPPORT.html。

默认的C ++库仅支持一组非常有限的功能。可以使用Application.mk中的APP_STL变量更改c ++库。