6

I've got a very simplistic application:

#include <vector>

void android_main(struct android_app* state)
{

}

When I build it, I get the following error:

test/jni/main.c:14:18: error: vector: No such file or directory

How the hell do I include STL header files? I've found stlport, and I can see the header files exist in it's directory, but how do include them?

Edit: My Application.mk file has the following line:

APP_STL := stlport_static
Mark Ingram
  • 71,849
  • 51
  • 176
  • 230

2 Answers2

5

test/jni/main.c:14:18: error: vector: No such file or directory

You're compiling with a C compiler, probably. Change the extension to *.cpp and check that a C++ compiler is invoked in the tool-chain.

Yakov Galka
  • 70,775
  • 16
  • 139
  • 220
4

Read the documentation in $NDKROOT/docs. Specifically CPLUSPLUSSUPPORT.html.

The default C++ library supports only a very limited set of features. The c++ library can be changed with the APP_STL variable in your Application.mk.

Chris Hopman
  • 2,082
  • 12
  • 11