it-swarm.com.de

Wie aktivieren Sie die C++ 11-Syntax in Eclipse Neon?

Ich entwickle C + 11-Code in Eclipse Neon und habe heute festgestellt, dass der in C + 11 eingeführte Bereich für die Schleife durch das IDE rot hervorgehoben wird, was darauf hinweist, dass er ihn nicht erkennt.

Ich habe mehrere Links zu diesem Thema für ältere CDT-Versionen wie diese gefunden ( Eclipse CDT C++ 11/C++ 0x Unterstützung ). Sie können sehen, dass es keine Registerkarte "Tool-Einstellungen" gibt.

 enter image description here

Kann jemand vorschlagen, mein Projekt so zu konfigurieren, dass die C++ 11-Syntax richtig hervorgehoben wird (ich verwende ein separates Build-System)

18
CPayne
  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und klicken Sie auf Eigenschaften
  2. Navigieren Sie zu C/C++ General und Preprozessor Include-Pfaden, Makros usw.
  3. Wählen Sie die Registerkarte Providers aus, und klicken Sie für den verwendeten Compiler auf die Zeile mit den Compilereinstellungen.
  4. Fügen Sie -std = c ++ 11 zu Command hinzu, um Compilerspezifikationen abzurufen.
  5. Änderungen übernehmen.

Sieht so aus:

${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
38
Andreas DM

Sie können auch Folgendes tun

  1. gehe zu Projekteigenschaften (Alt Enter)
  2. Scrollen Sie im linken Bereich zu "C/C++ Build", reduzieren Sie es und wählen Sie Einstellungen aus. 
  3. Wählen Sie im rechten Fensterbereich Ihren Compiler unter dem Menü Einstellungen., Wählen Sie "Dialekt" aus, wählen Sie den gewünschten Sprachstandard aus der Dropdown-Liste aus, oder geben Sie im anderen Dialekt -std = c ++ 11 ein Flags "Text Eingabe.

Alternative,

  1. Eigenschaften -> "C/C++ Build" -> reduzieren und und "Einstellungen" auswählen
  2. Wählen Sie auf der Registerkarte Tool-Einstellungen Ihren Compiler aus, und markieren Sie das Feld "Miscellaneous".
  3. fügen Sie dem Eingabefeld "Other flags" -std = c ++ 11 hinzu.
5
mancini0

Aus Gründen, die ich nicht verstehe, habe Google bei der Suche nach Hinweisen, warum mein Eclispe Oxygen + CDT 9.3.2 unter Fedora 27 meinen Code nicht zuverlässig debuggen konnte, diese Frage/Antwort als etwas zu betrachten. 

Im Grunde war mein Problem, dass ein ziemlich einfaches C++ - Programm, das C++ 11-Funktionen (insbesondere shared_ptr) verwendet, in Eclipse Oxygen 2 + CDT 9.3.2 zusätzlich zu Fedora 27 (auf dem die gdb-Version 8.0.1 installiert ist) nicht debuggbar war Standardpaket-Repo). Ein paar Methodenaufrufe führten zu einer blockierten Debug-Sitzung. Es lief nichts, Eclipse wurde beendet, um wiederhergestellt zu werden. 

Wenn ich die Binärdatei mit gdb in der Befehlszeile debuggte, war alles gut; Ich konnte Haltepunkte setzen usw. alles funktionierte wie es sollte. Aber von Eclipse aus nichts zu tun.

Das Setzen von -std = c ++ 11 in die Projekteinstellungen, wie von Andreas gezeigt, hat das Problem jedoch gelöst. Ich habe keine Ahnung warum. Ich dachte, ich würde das aufstellen, falls jemand anderes auf ein ähnliches Problem stoßen würde.

g ++ ist in Version 7.2.1

1
bazza

Aus irgendeinem Grund funktionierte das Bearbeiten der globalen C++ - Compilereinstellungen für mich nicht. Das Befolgen der Anweisungen zum Ändern der projektspezifischen Einstellungen hat funktioniert. Siehe: Unterstützung für Eclipse CDT C++ 11/C++ 0x

0
ragerdl