Jak naprawić błąd CDT Eclipse „Funkcja” isdigit „nie można rozwiązać” w systemie Android NDK?

Używam Eclipse Indigo z mieszanym projektem Android / NDK. Dodałem naturę C ++ i prawie wszystko działa. Automatyczne budowanie; to znaczy, gdy edytuję plik ndk-build jest wywoływany i kończy się pomyślnie - bez błędów kompilacji. Wspomaganie kodem myszki działa (małe okienko wyświetla informacje o funkcji). Jeśli umieściłem kursor na linii dołączania i nacisnę F3, otworzy się odpowiedni plik nagłówkowy (nie ten, którego oczekiwałbym na podstawie mojej konfiguracji, ale odpowiedni - może wskazówka?).

Jeśli zaznaczę następujący wiersz w moim pliku .cpp, otworzy się $ NDKROOT / platforma / android-3 / arch-arm / usr / include / ctype.h:

#include <ctype.h>

(isdigit jest zdefiniowany w tym pliku)

Jednak Eclipse twierdzi, że isdigit nie jest zdefiniowany. Przeczytałem wiele postów sugerujących, że winien jest albo analizator statyczny, albo indeksator, ale bezskutecznie wypróbowałem wiele z proponowanych rozwiązań.

Jeśli dodam wiersz podobny do poniższego, błąd zniknie, a funkcja obsługi myszy zostanie włączona dla tej funkcji:

extern int isdigit(int);

Ponownie, nie jest to błąd linkera lub błąd kompilatora - ndk-build kończy się bez błędów. To jest coś wewnątrz zaćmienia. Dziękuję za obejrzenie!

Edytuj: teraz uważam, że jest to problem analizy kodu. Lepszym rozwiązaniem jest edycja opcji analizy kodu, aby „Funkcja nie mogła zostać rozwiązana” była ostrzeżeniem zamiast błędem. W ten sposób możesz zobaczyć ostrzeżenia w widoku Problemy, ale nadal działają. Jeśli funkcja jest NAPRAWDĘ brakująca, kompilator powie ci! Mam też nową teorię, że problem tkwi w Code Analyzer po dowiązaniach symbolicznych, ponieważ wszystkie „brakujące” funkcje znajdują się w dowiązanych symbolicznie plikach. Uwielbiałbym wszelkie informacje na temat tej teorii.

questionAnswers(5)

yourAnswerToTheQuestion