Ich möchte die neueste Version von GCC (GNU Compiler Collection) in Linux Mint 17.3 installieren. Derzeit wird g++ --version
4.8.4 zurückgegeben, während die neueste stabile Version 5.3 ist.
linux-mint
gcc
c++
g++
winko
quelle
quelle
Antworten:
Ihre Linux Mint ist mit einem GCC-Paket vorinstalliert. Daher würde ich Ihnen empfehlen, zunächst zu überprüfen, ob das Paket bereits in Ihrem System vorhanden ist, indem Sie den folgenden Befehl in terminal eingeben.
Wenn Sie kein solches Paket haben, verwenden Sie den folgenden Befehl im Terminal. Zuerst fügen Sie das folgende Repository hinzu:
Verwenden Sie dann den nächsten Befehl:
Es gibt immer grundlegende Dinge, die wir lernen sollten; Nehmen Sie es als Voraussetzung vor Linux .. Lernen Sie googeln ... versuchen Sie, mehr harte Suche zu machen ...
quelle
g++-4.7
, was eine niedrigere Version ist als dieg++-4.8
, die ich bereits habe? Ich möchte ein Upgrade durchführen, kein Downgrade.Laden Sie die neueste Version von gcc herunter
Verwenden Sie den Befehl
tar -xjf
:, um die Datei zu entpackenGeben Sie das Verzeichnis ein, das Sie gerade entpackt haben, sagen Sie in
$HOME/Downloads/gcc-5.3.0
, und geben Sie den folgenden Befehl ein:Abhängigkeitsinstallation: Für die Erstellung von GCC sind GMP4.2 +, MPFR 2.4.0+ und MPC 0.8.0+ erforderlich
Installieren Sie einen C ++ - Compiler
Nächster Typ:
Bearbeiten Sie, wenn Sie immer noch eine Fehlermeldung wie "zlib.h nicht gefunden!" Erhalten. Sie können das Folgende tun, um das Problem zu beheben:
quelle
--disable-multilib
?gcc/lto-compress.c:28:18: fatal error: zlib.h: No such file or directory
Ich bin mir nicht ganz sicher, was das letzte sein soll, denn es kommen immer die neuesten heraus. Sie können diese jedoch auf diese Weise installieren.
Nehmen Sie als Beispiel gcc-8:
Wenn Sie gcc-8 / g ++ - 8 mit höherer Priorität auswählen möchten (in diesem Fall 20), müssen Sie dies ebenfalls tun
quelle
Um ehrlich zu sein, ich bin einfach zu faul, um mich von 17.3 zu entfernen - es funktioniert für mich. Davon abgesehen brauchte ich noch einen neueren gcc. Um es wiederholt für verschiedene Ziele zu kompilieren, habe ich ein Bash-Skript (siehe unten), das ich ändere und ausführe (ich schreibe mein eigenes Spielzeug-Betriebssystem, daher muss ich ein speziell generiertes gcc verwenden).
Ändern Sie die Verzeichnisse im folgenden Skript so, dass sie mit den vorhandenen Verzeichnissen übereinstimmen. Ich behalte die kompilierte Version in meinem eigenen Verzeichnis, damit ich problemlos zwischen meiner kompilierten Version und der Systemversion wechseln kann. Ich schlage vor, Sie tun das gleiche. Sie müssen binutils-2.23.2 sowie die gcc-Version herunterladen, an der Sie interessiert sind (ich verwende 7.1.0 unten). Legen Sie sie zusammen mit dem folgenden Skript in einem ~ / contrib-Verzeichnis ab.
Vielleicht möchten Sie auch die Zeile "--enabled-language = c" in "--enabled-language = c, c ++, objc" ändern - mein Projekt benötigt nur C. Eine weitere Änderung wäre der Wert von PLATFORM. Ich benutze "i686-elf", aber das funktioniert nicht für Sie (ich habe es unten in etwas geändert, das für die 32-Bit-Plattform funktioniert). Sie können "x86_64-linux-gnu" für eine 64-Bit-Plattform ausprobieren.
Für Neugierige - der Grund, warum ich es so baue, ist, dass der gcc-Erstellungsprozess einen Fehler hatte, der die Neuerstellung im Quellverzeichnis verhinderte. Ich weiß nicht, ob dieser Fehler noch besteht (ich habe ihn zuletzt in 4.8.0 festgestellt), aber die einzige Problemumgehung bestand darin, explizit ein separates Verzeichnis zu erstellen, falls Sie ihn jemals neu erstellen wollten.
[BEARBEITEN: Führen Sie die Installation der oben von GAD3R vorgeschlagenen Abhängigkeiten durch]
quelle