2010-12-16 3 views
6

Я получил очень упрощенно приложение:Не может включать заголовочные файлы STL с Android NDK r5

#include <vector> 

void android_main(struct android_app* state) 
{ 

} 

Когда я построить его, я получаю следующее сообщение об ошибке:

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

Как ад, я включаю заголовочные файлы STL? Я нашел stlport, и я вижу, что файлы заголовков существуют в его каталоге, но как их включить?

Edit: Мой файл Application.mk имеет следующую строку:

APP_STL := stlport_static 

ответ

5

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

Вы компилируете с компилятором, наверное. Измените расширение на * .cpp и убедитесь, что в цепочке инструментов вызывается компилятор C++.

+0

Это не должно меняться, так как ошибка не найдена. – 2010-12-16 20:59:09

+0

@Mark: Конечно, может. Пути включения компиляторов C и C++ могут быть разными. – ybungalobill 2010-12-17 09:07:33

4

Прочитайте документацию в $ NDKROOT/docs. В частности, CPLUSPLUSSUPPORT.html.

Библиотека C++ по умолчанию поддерживает только очень ограниченный набор функций. Библиотека C++ может быть изменена с помощью переменной APP_STL в вашем Application.mk.