Eclipse CDT zu blöd für C++0x Funktionen ?!
-
Guten Tag,
Ich arbeite jetzt mit Eclipse CDT auf meinem Mac und benutze den GCC 4.6. Allerdings zeigt mir Eclipse an, dass std::forward und std::move angeblich nicht definiert sind, obwohl der entsprechende Header includiert wurde. Woran liegts? Meine Programme kompilieren ohne Warnings mit -Wall
-
Welchen Header?
-
<utility>
-
std::tuple wird ebenfalls nicht erkannt.
-
Offenbar scheint die IDE mit C++0x nicht zurechtzukommen. Was kann ich da tun?
-
Wenn ich das richtig gelesen hab, ist Eclipse open Source
Also Lizenzbedingungen lesen, Quelltext ansehen und C++0x oder was auch immer einbauen. Vielleicht geht das auch noch einfacher, aber dazu müsste ich mir das intensiv ansehen.
Hab vor vielen Jahren mal einen Compiler mit einigen Funktionen der nächsthöheren Version nachgerüstet und ein anderes Mal einem Assembler den Wortschatz erweitert. Bei dem Assembler lag der QBasic-Quelltext vor. Ja so was kann man realisieren, wenn man zusätzlich noch die notwendigen Info über die CPUs hat.
MfG f.-th.
-
Die Eclipse unterstützt ja C++0x, sie erkennt Range based for und ähnliche Sachen. Allerdings scheint sie mit dem Makro, dass im GCC Header für C++0x definiert wurde, nicht klarzukommen. Deshalb sind die ganzen Sachen für die IDE nicht sichtbar.
-
*push-up* :p
-
Kannst die CDT Entwickler nachfragen
-
Auf ne ordentliche IDE wechseln?
-
Soweit ich mich erinnere kann man doch die defines hinzufügen
unter C/C++ General ==> Path and Symbols.
-
falls das thema noch aktuell ist trag mal in eclipse noch unter den projekteinstellungen beim c++ compiler unter Miscellaneous noch -std=c++0x ein. hat bei mir unter helios auch geholfen
-
dozer schrieb:
falls das thema noch aktuell ist trag mal in eclipse noch unter den projekteinstellungen beim c++ compiler unter Miscellaneous noch -std=c++0x ein. hat bei mir unter helios auch geholfen
Ist zwar nicht mehr aktuell, aber das löst das Problem nicht. Die richtige Lösung kam von Tobias Gerg, 100 Punkte. Ringdingding.
-
Wie genau lautet denn die Lösung?