Родной C++ с Android на Eclipse - выдает ошибку на stdlib, но работает

Я строю свое приложение для Android в среде затмения Android. Сборка моего кода на C++ и независимая компиляция с помощью ndk-build. Это отлично работает.

Мне нужно отладить ошибку sigsegv, которая внезапно выдается logcat.

Поэтому я переключил проект в Eclipse, чтобы "добавить нативный код в Android". Теперь он отлаживает мой код на C++, но выдает ошибку каждый раз, когда я использую какой-либо из компонентов std, например vector, и поэтому не могу запустить код, поскольку он содержит ошибки.

Проект работал нормально на предыдущем конфиге. Я добавил lib для поддержки std, я верю.

Любая идея о том, как я могу правильно отладить свой родной код?

Спасибо вам за помощь

ОБНОВЛЕНИЕ Я полностью переустановил мой SDK, Eclipse (на этот раз Juno) и все плагины. Без изменений. Проверка ошибок не распознает связанные с Java и STD вещи:

#include <jni.h>
using namespace std;

подчеркнуто красным.

Остальная часть С ++ распознается правильно.

UPDATE2

Когда я добавляю ${NDKROOT}/sources/cxx-stl/gnu-libstdC++/include в Paths и Includes, операторы java уже включены. За исключением векторов, я также попытался добавить ${NDKROOT}/sources/cxx-stl/stlport/stlport, но проблема с вектором пока не устранена. Если проверка ошибок отключена, проект компилируется, и если я делаю ошибку синтаксиса, компилятор предупреждает меня. Это нормально для меня.

1 ответ

Решение

Вы, наверное, можете, во-первых, отключить ошибки в Project Properties|C/C++ General|Code Analysis так что ваш проект компилируется.

Затем вы можете проверить, включены ли пути в Project Properties|C/C++ General|Paths and Symbols верны.

Я также слышал, что обновление плагина ADT может помочь.

Другие вопросы по тегам