Intereting Posts
Причина вызова shutdown () для ExecutorService Является ли использование registerReceiver в классе приложения понятным хорошей, известной практикой? Внедрить список с разделителем раздела в android Развернуть все дочерние элементы в расширенном виде списка Как WebView.getTitle () из потока пользовательского интерфейса? ADB не отвечает – подождите больше или убейте adb или перезагрузите (Ubuntu 13) 64-разрядный Как вызвать эффект пульсации на Android Lollipop в определенном месте в представлении, не вызывая прикосновения событий? Радиус угла обзора CardView ActionBarSherlock – вкладки, отображающие верхнюю панель действий с пользовательским представлением Узнать, какая деятельность начала мою деятельность? Что такое армеаби и почему они его используют Android.app Fragments vs. android.support.v4.app с помощью ViewPager? Почему для MediaPlayer для Android требуется много времени для подготовки некоторых живых потоков для воспроизведения? Где документирован путь «file: /// android_asset /»? Android – Невозможно создать экземпляр активности – Класс не найден исключение после обновления до ADT 22

Ошибки индексатора Eclipse при использовании STL с Android NDK

Я использую Android NDK r7 с eclipse Indigo на Ubuntu. Я создал свой проект java для использования природы C ++. Я использую STL на стороне C ++, поэтому добавил

APP_STL := gnustl_static 

В файле Application.mk.

Ndk-build успешно компилирует мой код и создает общий объект.

Однако индексист eclipse жалуется на отсутствие символов STL. Например

«Метод« push_back »не может быть разрешен» «Символ« вектор »не может быть разрешен»

Это происходит только тогда, когда файлы C ++ открыты в редакторе. В конечном счете, затмение не создаст мой apk. Я добавил путь к заголовкам STL gnu, поставляемым с ndk (Properties => C / C ++ General => Code Analasys => Path & symbols):

 android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include/bits 

Текущее обходное решение – закрыть открытые файлы C ++, чтобы сделать eclipse счастливым.

Интересно, что отлично работает редактор индексации затмений с заголовками, найденными в

Android-НДК-r7 / платформы / андроид-14 / арка рычаг / USR / включать в себя

Есть ли что-то, что я забыл создать в затмении?

Solutions Collecting From Web of "Ошибки индексатора Eclipse при использовании STL с Android NDK"

Вы должны добавить путь к STL для настройки проекта, чтобы Eclipse также индексировал его. Project-> Properties-> C / C ++ General-> Включает. Вот что я добавил:

 <path_to_NDK>/sources/cxx-stl/gnu-libstdc++/include <path_to_NDK>/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include <path_to_NDK>/platforms/android-9/arch-arm/usr/include 

Некоторым людям удалось исправить эту проблему, добавив __GXX_EXPERIMENTAL_CXX0X__ в Eclipse, как упоминалось в « умных указателях, не работающих с Android NDK r8 ». Но это не работает в некоторых версиях Eclipse, таких как мой (Eclipse Juno v4.2).

Итак, как обходной хак, я пошел в Eclipse Preferences -> C / C ++ -> Code Analysis, затем я изменил серьезность некоторых проблем с Error to Warning, так как я использую NDK для компиляции моего кода, так что этот единственный эффект Индексатор. Я изменил «Символ не разрешен», и он исправил мои ошибки, но вы также можете изменить несколько других. Сначала это не исправляло ошибки для меня, пока я не закрыл и не открыл файл C ++. Щелчок правой кнопкой мыши по вашему проекту и выбор «Index -> Rebuild» также может помочь его обновить.

Теперь Eclipse выделяет эти строки как предупреждения и позволяет мне продолжать создавать & запускать и отлаживать мое приложение NDK.