it-swarm.com.de

Eclipse C++: Symbol 'std' konnte nicht aufgelöst werden

Ich erhalte diesen Fehler in der TestExecute.cpp - 

"Symbol 'std' konnte nicht aufgelöst werden"

CODE

#include <iostream>
using namespace std;

Ich habe gerade ein ausführbares Projekt in Eclipse (in Windows 7) erstellt (siehe unten). Es scheint, als wähle ich eine Toolchain aus, die nicht unterstützt wird. Ist es so? Ich habe Cygwin installiert und es ist in den Einstellungen verfügbar.

EDIT: Basierend auf @RobertoWilko-Kommentar, Entfernen der Zeile "using Namespace std; " Fehler behoben Die Binärdatei wird jedoch nicht erstellt. Msgstr "Start fehlgeschlagen. Binär nicht gefunden". Wie kann ich das korrigieren?

enter image description here

enter image description here

enter image description here

enter image description here

25
Lijo

Probieren Sie diesen Schritt aus: https://www.Eclipse.org/forums/index.php/t/636348/

Grundsätzlich: "Gehen Sie zu Projekt -> Eigenschaften -> C/C++ - Allgemein -> Präprozessor Include-Pfade, Makros usw. -> Provider -> CDT GCC-Compiler-Einstellungen, deaktivieren Sie das Befehlszeilenargument -std = c ++ 11.

17
user3729779

Ich weiß nicht, ob Sie dieses Problem gelöst haben, aber ich möchte meine Lösung posten, für die möglicherweise dasselbe Problem aufgetreten ist.

  1. Stellen Sie zunächst sicher, dass sich in Ihrem Projekt-Explorer der Ordner "Includes" befindet. Wenn Sie es nicht haben, fahren Sie mit dem zweiten Schritt fort. Wenn Sie es haben, gehen Sie zum dritten Schritt.

  2. Zweitens Fenster -> Einstellungen -> C/C++ -> Erstellen> Umgebung : Erstellen Sie zwei Umgebungsvariablen:

    a) Name: C_INCLUDE_PATH Wert: /usr/include

    b) Name: CPLUS_INCLUDE_PATH Wert: /usr/include/c++

Gehen Sie zu Cygwin/usr/include/. Wenn Sie den Ordner "c ++" nicht finden können, kopieren Sie ihn aus \cygwin\lib\gcc\i686-pc-cygwin\X.X.X\include. Starten Sie dann Eclipse neu.

  1. Drittens Klicken Sie mit der rechten Maustaste auf Ihr Projekt in Project Explorer -> Eigenschaften -> C/C++ - Allgemein -> Pfade und Symbole -> Include -> Languages: GNU C++ Verzeichnisse "und klicken Sie auf Übernehmen und auf OK. Ändern Sie ein bisschen Ihre Codes und speichern Sie sie. 

Sie werden feststellen, dass es kein Symbol gibt, das keine Probleme gelöst werden kann. 

Ich habe meine Lösung dokumentiert und gehofft, dass jemand davon profitieren könnte.

14
Frank

Sie können den Code wie folgt umschreiben:

#include<iostream>
#include<stdio.h>

using namespace std;
6
liuzixing

Für MinGW hat das für mich funktioniert:

  • Klicken Sie mit der rechten Maustaste, und wählen Sie Properties aus.
  • Gehe zu C/C++ General - Paths and Symbols - Includes - GNU C++ - Include directories
  • Add... auswählen
  • Variables... auswählen
  • Wählen Sie MINGW_HOME und klicken Sie auf OK.
  • Klicken Sie auf Apply und OK.

Sie sollten jetzt mehrere MinGW-Pfade in Includes in Ihrem Projekt-Explorer sehen.
Die Fehler verschwinden möglicherweise nicht sofort, Sie müssen Ihr Projekt möglicherweise aktualisieren/erstellen.


Wenn Sie Cygwin verwenden, kann eine entsprechende Variable vorhanden sein.

4
Myst

Ich konnte das Problem beheben: Projekt -> Eigenschaften -> C/C++ - Allgemein -> Präprozessor Include-Pfade, Makros usw. -> Anbieter -> CDT GCC-Compiler-Einstellungen, Aktivieren und Deaktivieren des CDT GCC-integrierte Compiler-Einstellungen

3
Malcolm Boyd

Der Include-Ordner im Projekt fehlt wahrscheinlich /usr/include/c++.Gehen Sie zu Ihrem Projekt im Projekt-Explorer, klicken Sie mit der rechten Maustaste -> Eigenschaften -> C\C++ - Build -> Umgebung -> Hinzufügen -> Wert =/usr/include/c ++. Starten Sie Eclipse neu.

3
Meera Patil

Installieren Sie C++ SDK :

Hilfe> Neue Software installieren> Arbeiten mit: path for your Eclipse version> Suchen Sie nach C++ und installieren Sie C++ sdk-Entwicklungstools.

Beispiel für einen Pfad: Mars - http://download.Eclipse.org/releases/mars

1
Alaa M.

Ich hatte dieses Problem bei der Verwendung von Eclipse Neon auf Kubuntu mit einem 16.04-Kernel. Ich musste meinen #include <stdlib.h> in #include <cstdlib> ändern. Dadurch wurde der std-Namespace für Eclipse "sichtbar" und der Fehler wurde entfernt.

1
Col_Parity

Das Problem, das Sie melden, scheint mir folgende Ursachen zu haben:

  1. sie versuchen, C-Code zu kompilieren, und die Quelldatei hat die Erweiterung .cpp
  2. sie versuchen, C++ - Code zu kompilieren, und die Quelldatei hat die Erweiterung .c

In einer solchen Situation kann Eclipse den richtigen Compiler nicht erkennen.

0
federico