c ++ eclipse falsche Fehlerinterpretation

8

Ich habe ein Problem mit Eclipse C ++. Mein Projekt kompiliert und läuft, aber Eclipse (Juno) sagt immer wieder, dass es Tausende von Fehlern gibt. Zum Beispiel gibt es eine Funktion SetRun in meinem Code, und eclipse erwähnt diesen Fehler: "Ungültige Argumente genannt" Kandidaten sind: void SetRun (?) '", Während SetRun vom Typ static void SetRun (uint32_t run);

ist

Ich habe ziemlich viele ähnliche Fehler, bei denen Eclipse den Typ der Funktion nicht zu verstehen scheint und ein '?' stattdessen.

Ich habe auch viele Fehler wie folgt: "Symbol '*' konnte nicht aufgelöst werden."

Ich denke, das ist alles ein Teil des gleichen Problems.

Was kann ich tun, damit Eclipse mich nicht mehr über diese Fehler informiert?

    
bob 06.07.2012, 00:57
quelle

5 Antworten

3

Eigentlich ist Eclipse eine Art instabiles Projekt. Versuchen Sie, das Projekt zu bereinigen und zu aktualisieren.

    
Alanir Alonedaw 06.07.2012, 01:08
quelle
4

Ich habe versucht, die vorgeschlagene Lösung und es hat nicht funktioniert für mich. Es half, CodeAnalysis für das Projekt zu deaktivieren. Ich ging zu Eigenschaften- & gt; C / C ++ Allgemein- & gt; Code-Analyse. Ausgewählte Projekteinstellungen verwenden und alle Fehler deaktiviert. Das ist natürlich sehr ärgerlich und bedauerlich und ich würde mich freuen zu wissen, wann es richtig behoben ist. Es ist eine Schande, dass wir das Feature, das andere anständige IDE hat, nicht nutzen können.

    
Moshe Kravchik 29.11.2012 07:51
quelle
1

In Eclipse:

  • Klicken Sie mit der rechten Maustaste auf das Projekt,
  • klicke auf Eigenschaften
  • Erweitern Sie "C / C ++ general" das Element in der linken Baumansicht, indem Sie auf den Fehler klicken (durch Klicken auf das Element selbst werden die Unteroptionen nicht erweitert)
  • Aus den Unteroptionen wählen Sie "Präprozessor Include Paths, Macros etc."
  • Klicken Sie auf den Tab "Providers" und aktivieren Sie das Kontrollkästchen neben "Integrierte CDT GCC-Compiler-Einstellungen [Freigegeben]" .
Catskul 18.06.2014 16:37
quelle
0

Ich hatte viele dieser Fehler, die darauf abzielen, CODAN dazu zu bringen, über Code zu laufen, der für einen Mac bestimmt war. Meine Mac SDK-Bibliotheken wurden über Symlinks wie in diese Frage eingebunden (aber nicht alle - bleib dran!) Am Ende stellte sich heraus, dass ich nicht alle Header hatte. Zum Beispiel hatte ich den folgenden Funktionsaufruf:

%Vor%

Was den Fehler ergab:

%Vor%

Nun ist die korrekte Signatur der Funktion, die in IOKit/IOKitLib.h definiert ist (was ich hatte):

%Vor%

Wenn wir jetzt das erste Argument nehmen und die Typdefinitionen verfolgen, erhalten wir:

%Vor%

Und dann! Ich hatte nicht das Include, das __darwin_natural_t definiert hat. Dieses Include war tatsächlich in i386 , das ich nicht in meinem Symlink-Verzeichnis hatte. Das Hinzufügen vervollständigte die Kette:

%Vor%

Schließlich wusste CODAN, welches Typ Argument 1 von IORegistryEntryGetParentEntry() sein sollte, und der Fehler änderte sich in:

%Vor%

Ich habe diese "type-trace" für die anderen Argumente wiederholt und festgestellt, dass der Fehler verschwunden ist (ich musste nicht einmal den Index neu aufbauen, sondern YMMV). Natürlich müssten Sie die Header finden, die Sie brauchen, und sicher sein, dass sie enthalten sind - das obige ist nur ein Beispiel!

    
Inductiveload 25.10.2013 17:32
quelle
0

Ich hatte das gleiche Problem mit ein paar Funktionen. Es stellte sich heraus, dass das Argument nach mehreren typedefs ein __int64 war, das nicht definiert ist (nicht Standard). Ich musste es nur in meinem Projekt definieren und das löste das Problem.

Projekt- & gt; Eigenschaften- & gt; C / C ++ Allgemein- & gt; Pfade und Symbole- & gt; Symbole- & gt; C ++ Quelldatei- & gt; hinzufügen

name: __int64

Wert: lang lang

(oder statt "long long" vielleicht könnten Sie einen der Werte aus diese Antwort verwenden )

Bearbeiten:

Übrigens habe ich im Eclipse-Bugzilla einen Fehlerbericht zu genau diesem Thema gesehen, weshalb es vielleicht nicht nötig ist, __int64 zu definieren.

    
JACH 30.10.2013 15:24
quelle

Tags und Links