auf dem Mac. Ich habe Xcode installiert und die Befehlszeilentools von der Mac Developers-Website, die ich einige Male gelesen habe, sind Voraussetzung. Ich habe auch das MacPorts-Programm installiert. Im Terminal:
sudo port install gcc48 sudo port select -set gcc mp-gcc48
Alle oben genannten Schritte verliefen reibungslos, bis ich Folgendes eingab:
hash gcc
Wenn ich die Eingabetaste drücke, wird die folgende Fehlermeldung angezeigt:
-bash: hash: gcc: nicht gefunden
Ich bin ratlos und nicht Sie wissen, wie Sie fortfahren, um gcc erfolgreich auf meinem Mac zu installieren (auf dem Mac OS X 10.9.1 ausgeführt wird).
Sehr dankbar für Vorschläge und / oder Alternativen zur Installation von gcc
Kommentare
- Gibt es einen Grund, warum Sie gcc speziell benötigen? clang verwendet dieselbe Syntax, kompiliert schneller und generiert schnelleren Code. Die Hauptfehler wurden in den letzten Jahren beseitigt.
- Eine Bearbeitung würde dies unterstützen. Wenn Sie ein Paket haben, das Sie kompilieren müssen, listen Sie es auf. Wenn Sie nur wissen möchten, wie Sie gcc zum Spaß kompilieren können, ist das ‚ auch in Ordnung, aber die Antwort auf beide ist unterschiedlich.
- Was macht das?
which gcc
geben? - Haben Sie Ihre Pfadvariable in Ihrem ~ / .profile überprüft? Es sollte auf das Verzeichnis verweisen, in dem sich gcc befindet.
- Was bedeutet; s -l / opt / local / bin / gcc * anzeigen?
Antwort
Möglicherweise ist es besser, gcc von Homebrew aus zu installieren als von Macports.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew doctor brew update brew search gcc
In diesem Paketmanager sind ungefähr 6 Versionen von gcc verfügbar. Siehe http://brew.sh für weitere Details zu den Homebrew-Tools. Auch dieser Thread enthält weitere Details zu gcc und Homebrew: Wie installiere ich GCC über Homebrew? Schließlich ähnelt der gcc-Fehler in Ihrer Shell diesem Thread: Ich habe Xcode installiert, aber immer noch nicht ‚ Ich habe kein GCC in meinem Terminal
Kommentare
- Warum ist dies besser als Macports?
Antwort
Möglicherweise gibt es zwei Probleme. Ein Problem ist Ihr Pfad. Sie müssen / opt / local / bin vor / usr haben / bin derzeit haben Sie / opt / local / bin hinter / usr / bin. Aus diesem Grund ist g ++ wahrscheinlich immer noch mit clang verknüpft.
Das andere Problem ist, dass Sie den Befehl port select false verwenden. Der Port Mit dem Befehl select wird automatisch ein g ++ fl erstellt ag Link zu Ihrem angegebenen Compiler. In diesem Fall sollte der angegebene Compiler mp-4.8 sein und –set anstelle von -set. Die Anweisungen finden Sie auf dieser Webseite http://dropbit.com/?p=84 .
Antwort
Ich glaube nicht, dass Ihr Portauswahlbefehl das getan hat, was Sie erwartet haben. Das Handbuch besagt, dass der Auswahlbefehl zwischen mehreren Versionen von auswählt Ein versionierter Port , von dem ich glaube, dass nicht Ihr Fall hier ist:
pejvan$ port help select Usage: select --list --set --show --summary <arguments> Select between multiple versions of a versioned port This allows you to choose which version, among several installed versions of a port, is to be considered primary. What this means is which version becomes the one most would consider the default, e.g. the one run without specifying any version.
Nachdem Sie den Installationsbefehl für gcc (hier Version 4.9) erfolgreich ausgeführt haben:
sudo port install gcc49
Sie können überprüfen, ob die gcc-Binärdateien installiert sind:
pejvan$ ls -l /opt/local/bin/gcc* -rwxr-xr-x 2 root admin 42912 3 Jun 03:44 /opt/local/bin/gcc-ar-mp-4.9 -rwxr-xr-x 3 root admin 1082788 3 Jun 03:44 /opt/local/bin/gcc-mp-4.9 -rwxr-xr-x 2 root admin 42992 3 Jun 03:44 /opt/local/bin/gcc-nm-mp-4.9 -rwxr-xr-x 2 root admin 43000 3 Jun 03:44 /opt/local/bin/gcc-ranlib-mp-4.9
Anschließend können Sie gcc mit dem vollständigen Pfad zu ausführen die Binärdateien:
pejvan$ gcc-mp-4.9 --version gcc-mp-4.9 (MacPorts gcc49 4.9-20140416_2) 4.9.0 20140416 (prerelease) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Wenn Sie den Clang-Complier (vorübergehend oder dauerhaft) durch gcc ersetzen möchten, können Sie dies tun, indem Sie die CC-Umgebung wie folgt festlegen Beispiel:
export CC=/opt/local/bin/gcc-mp-4.9 # set GCC as default C compiler
Als Randnotiz bitte Beachten Sie, dass Sie gcc_select
:
pejvan$ port info gcc_select gcc_select @0.1_8 (sysutils) Description: gcc_select installs files that allow "port select" to switch the default version of gcc. It symlinks the standard compiler executables in the MacPorts prefix to the selected version.
Ich habe mir die Details des Pakets nicht angesehen, daher bin ich mir nicht sicher, ob es zwischen clang und port installiertem gcc oder nur mit mehreren verschiedenen Versionen von port installierten gcc-Paketen funktionieren würde.
Kommentare
- Nur zwischen gcc-Paketen und Portauswahl sollte funktioniert haben
- Das ‚ s Was ich im ersten Satz gesagt habe, Kumpel.
- (ABER Sie müssen das Paket gcc_select installieren, was hier nicht der Fall zu sein scheint).