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.
Kann jemand vorschlagen, mein Projekt so zu konfigurieren, dass die C++ 11-Syntax richtig hervorgehoben wird (ich verwende ein separates Build-System)
Sieht so aus:
${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
Sie können auch Folgendes tun
Alternative,
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
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