gcc 4.8.1 C++11 Support

Gast #3567219
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren