
https://stackoverflow.com/questions/9131763/eclipse-cdt-c11-c0x-support
Ich komme von dieser Website.
Ich habe ein C++-Projekt, das sich problemlos mit g++-4.8 kompilieren lässt. Ich wollte einfach std::int8_t aus der cstdint-Datei verwenden.
Das Problem besteht darin, dass der Eclipse-Indexer den Namen nicht auflösen kann.
Ich bin zur csdint-Datei gegangen und im ersten Makro wird __cplusplus auf 199711L statt 201103L erweitert.
In meinen Projekteinstellungen habe ich std=c++11 hinzugefügt und in den Compiler-Flags habe ich hinzugefügtGXX_EXPERIMENTAL_CXX0X
Und habe ich gesagt, dass es kompiliert?
Es ist sehr frustrierend. Ich nehme an, ich kann ohne den Indexer leben, aber andererseits, welchen Zweck hat eine IDE, wenn sie mir falsche Positivfehler liefert.
Antwort1
Ich habe meine Antwort hier gefunden:http://www.eclipse.org/forums/index.php/t/490066/
Gehen Sie zu Projekteigenschaften->Pfade und Symbole->Registerkarte Symbole->GNU C++->__cplusplus Symbol und ändern Sie es in 201103L
Antwort2
Dies hängt von Ihrem verwendeten C++-Projekttyp und Ihrer Eclipse-Version ab. Ich habe ein Makefile-Projekt in Eclipse Mars.2 (4.5) mit CDT 8.8.1.201602051005) Wenn Sie ein Makefile-Projekt haben und den Eintrag C/C++ General
--> C/C++ Make Projects
in Ihren Projekteigenschaften sehen, müssen Sie auch auf die Registerkarte "Erkennungsoptionen" gehen und -std=c++11
zu denCompileraufrufargumente.