Gast
#3567219
Morgen zusammen, ich verwende hier einen gcc 4.8.1 unter Linux Mint. Der Compiler sollte ja C++1 "Feature Complete" sein. Ich gebe dem Compiler beim Aufruf "std=c11" mit um C++11 zu aktivieren. Problem: Kompilieren klappt nicht, weil einige Elemente der STL (zB unique Pointer) nicht bekannt sind. Ein Blick in die Header (<memory>) zeigt, dass "__cplusplus" auf >= 201103L definiert sein muss. Wenn ich mir das Makro ausgeben lasse erhalte ich den Wert "199711". So kanns natürlich nicht klappen. Wie bringe ich also g++ dazu, das Makro auf 201103L zu setzen? Recherchen haben ergeben dass es diesbezüglich mal einen Bug (eher Kompatiblitätsproblem mit Solaris) gab, wodurch __cplusplus auf 1 gesetzt wurde. Dieser sollte aber seit 4.7.0 behoben sein. Außerdem wirds bei mir ja nicht auf 1 gesetzt, sondern eben auf 199711. Solch ein Problem konnte ich beim gcc nicht finden. Microsofts Compiler hatte da mal was, aber den benutze ich ja nicht. Kann mir da wer helfen?