Die aktuelle GCC-Version stimmt nicht mit der veröffentlichten Version überein

1

Hier ist die Ausgabe meiner Portagesuche nach gcc:

emerge -s gcc

...
*  sys-devel/gcc
      Latest version available: 4.6.3
      Latest version installed: 4.6.3
      Size of files: 70,353 kB
      Homepage:      http://gcc.gnu.org/
      Description:   The GNU Compiler Collection
      License:       GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+
...

Und doch, wenn ich es tue gcc --versionIch verstehe folgendes:

gcc (Gentoo 4.5.4 p1.0, pie-0.4.7) 4.5.4

Irgendwelche Ideen? Ich muss C ++ 11 für ein Projekt verwenden, das ich zu kompilieren versuche, aber ich habe keine Ahnung, was ich tun soll. Danke im Voraus!!

Athan Clark
quelle

Antworten:

0

emerg basiert auf Python und liest Standard-.ebuild-Dateien, die sich in / usr / portage befinden. Die Ebuild-Dateien beschreiben, wie die Quelle konfiguriert und installiert werden soll, abhängig von den in /etc/make.conf festgelegten Variablen.

Möglicherweise wird in der neuen Version von GCC die .ebuild-Datei nicht aktualisiert. und du siehst falsche version.

GCC 4.5, das Sie haben, unterstützt die folgenden Optionen nicht:

  1. Rwertreferenzen für * diese
  2. Nicht statische Initialisierer für Datenelemente
  3. Vorlagen-Aliase
  4. Nullzeiger-Konstante
  5. Weiterleitungserklärungen für Aufzählungen
  6. Verallgemeinerte Attribute
  7. Verallgemeinerte konstante Ausdrücke
  8. Ausrichtungsunterstützung
  9. Konstruktoren delegieren
  10. Konstruktoren erben
  11. Erweiterte Freunderklärungen und viele andere Möglichkeiten ...

GCC 4.8 unterstützt C ++ 11 vollständig. Versuchen Sie, Ihren Compiler auf die neueste Version zu aktualisieren.

Sepahrad Salour
quelle
Wissen Sie, wie Sie Ebuilds so ändern, dass sie aktualisiert werden? Danke für die Hilfe, ich werde es versuchen locate die neue gcc version die kompiliert wurde.
Athan Clark
Für ein Upgrade Ihres GCC ist die Verwendung zu einfach apt-get update; apt-get upgrade in debian base oder yum update befehl in redhat base linux. Dieser Befehl aktualisiert alle alten Pakete.
Sepahrad Salour
Ich benutze Gentoo haha. Daher das emerge / portage Zeug haha.
Athan Clark