Как исправить ошибку Eclipse CDT «Функция« isdigit »не может быть решена» с Android NDK?

Я использую Eclipse Indigo со смешанным проектом Android / NDK. Я добавил природу C ++, и почти все работает. Автоматическая сборка работы; то есть, когда я редактирую файл, ndk-build вызывается и успешно завершается - никаких ошибок сборки. Помогает наведение кода при наведении курсора (всплывает небольшое окно с информацией о функции). Если я наведу курсор на строку включения и нажму F3, откроется соответствующий файл заголовка (не тот, который я ожидал бы исходя из моей конфигурации, а соответствующий - возможно, подсказка?).

Если я выберу следующую строку в моем файле .cpp, он откроет $ NDKROOT / platform / android-3 / arch-arm / usr / include / ctype.h:

#include <ctype.h>

(isdigit определен в этом файле)

Однако Eclipse настаивает на том, что isdigit не определен. Я читал много постов, в которых предполагалось, что виноват статический анализатор или индексатор, но я пробовал многие из предложенных решений, но безрезультатно.

Если я добавлю строку, подобную следующей, ошибка исчезнет, и вспомогательный код при наведении курсора на функцию сработает:

extern int isdigit(int);

Опять же, это не ошибка компоновщика или ошибка компилятора - ndk-build завершается без ошибок. Это что-то внутри затмения. Спасибо, что посмотрели!

Изменить: теперь я считаю, что это проблема анализа кода. Лучшее решение состоит в том, чтобы отредактировать параметры анализа кода, чтобы сделать функцию «не может быть решена». быть предупреждением вместо ошибки. Таким образом, вы можете видеть предупреждения в окне «Проблемы», но продолжать работать. Если функция ДЕЙСТВИТЕЛЬНО отсутствует, компилятор скажет вам! У меня также есть новая теория, что проблема заключается в том, что Code Analyzer следует по символическим ссылкам, потому что все «отсутствующие» отсутствуют. функции находятся в символических файлах включения. Хотелось бы любой вклад в эту теорию.

Ответы на вопрос(5)

Ваш ответ на вопрос