Родной 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 может помочь.