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!!

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.