Nicht aufgelöster Einschlussfehler bei Verwendung von NDK

8


Ich verwende Android NDK, aber die .c-Datei im JNI-Ordner zeigt den Fehler der nicht aufgelösten Aufnahme wie im Bild gezeigt: Bitte helfen Sie mir bei der Lösung dieses Problems. Ich habe fast alles ausprobiert, was ich im Internet finden konnte, aber ich konnte es nicht lösen. Für ein C / C ++ - Projekt kann ich die Option build path \ paths und symbols verwenden, um die Aufnahme zu lösen, aber für ein Android-Projekt ist diese Option in den Projekteigenschaften nicht verfügbar.

    
Waneya Iqbal 17.10.2011, 20:07
quelle

6 Antworten

7

Dies ist ein Fehler im ADT-Plugin (oder besser, es klingt wie eine Inkompatibilität mit der neueren Version von CDT für Eclipse) unter Windows, das hier dokumentiert ist: Ссылка

Es gibt eine Vorschau auf eine neue Version, die das hier beschriebene Problem behebt: Ссылка

Hier ist, was ich tun musste, um das Problem zu beheben:

  1. Aktivieren Sie die Vorschau-Tools in den Optionen des SDK-Managers, und installieren Sie dann die Vorschauversion der SDK-Tools.
  2. Installieren Sie die Vorschauversion der ADT- und NDK-Plugins in Eclipse über den Link in der oben verlinkten Vorschaubeschreibung.
  3. Erstellen Sie mein Projekt neu, damit ich den Schritt "Native Unterstützung hinzufügen" erneut ausführen kann (anscheinend erforderlich, damit der Fix funktioniert).

Es ist wahrscheinlich möglich, # 3 zu erreichen, indem man entsprechende Projektdateien bearbeitet und nicht neu erstellt, aber da ich mich in einem frühen Stadium der Entwicklung befinde, habe ich nicht damit experimentiert.

    
atwyman 09.11.2012 01:45
quelle
6

Hatte das gleiche Problem, indem Sie den Pfad in den Projekteigenschaften ( C / C ++ Allgemein / Pfade und Symbole / Includes ) von:

lösten
  

$ {NDKROOT} / Quellen / cxx-stl / gnu-libstdc ++ / include

zu:

  

$ {NDKROOT} / Quellen / cxx-stl / gnu-libstdc ++ / 4.6 / include

    
Evgeny Erlihman 13.10.2012 10:48
quelle
4

Android NDK-Projekt - & gt; Neu - & gt; Ordner - & gt; Erweitert - & gt; Link zum alternativen Speicherort (Verknüpfter Ordner) Durchsuchen Sie den Pfad (zum Beispiel): C: \ cygwin \ lib \ gcc \ i686-pc-cygwin \ 3.4.4 \ include. Der Pfad hängt von der Version von Cygwin ab, die Sie verwenden.

    
Leo 08.03.2012 06:16
quelle
1

Im aktuellen Android NDK (Revision 10e) Ordner gnu-libstdc++/4.6 existiert nicht - Sie müssen Eclipse Build Include Pfade ändern:

Projekt - Eigenschaften - C / C ++ Allgemein - Pfade und Symbole - Beinhaltet - GNU C, GNU C ++

%Vor%

Wechseln zu:

%Vor%     
Honza 23.09.2015 18:59
quelle
0

Die einzige Abhilfe, die ich in meinem Projekt gefunden habe, ist das Deaktivieren der #include-Warnungen in Eclipse Preferences -> General -> Editors -> Text Editors -> Annotations -> C/C++ Indexer Markers.

Da die C / C ++ - Projekteinstellungen in Android-Projekten nicht angezeigt werden, konnte ich keine Include-Verzeichnisse für den NDK-Code eingeben.

    
levis501 22.11.2011 02:32
quelle
0

1 Schließen Sie das Projekt. Öffnen Sie .project in einem anderen Editor. löschen Sie Folgendes:

%Vor%

2 lösche .cproject

3 Projekt in Eclipse öffnen, aktualisieren. Rechtsklick, Eigenschaften- & gt; Android Tools - & gt; Native Unterstützung hinzufügen Gelöst, jetzt können wir Strg + Klick um den Link zu öffnen.

4 Wenn Methoden und Symbole immer noch nicht aufgelöst sind, können Sie Folgendes versuchen: Gehen Sie zu den Eigenschaften des Projekts - & gt; C / C ++ Allgemein - & gt; Code-Analyse. Klicken Sie auf das Optionsfeld "Projekteinstellungen verwenden" (oder auf "Arbeitsbereicheinstellungen konfigurieren ..."). Deaktivieren (deaktivieren) Sie das Kontrollkästchen "Methode kann nicht aufgelöst werden".

    
Victor Choy 03.12.2015 07:23
quelle