Ich versuche, ein C ++ - Programm auf dem Mac-Terminal mit gcc und dann dem Pfad der Quelldateien zu kompilieren. Ich habe einige kurzfristige Lösungen im Internet gefunden, aber ich möchte, dass es immer funktioniert. Außerdem kenne ich mich mit dem Terminal kaum aus, daher ist die Lösung ganz einfach erklärt.
echo $PATH
gibt:
/Library/Frameworks/Python.framework/Versions/2.7/bin:’/usr/local/bin:??
/bin/cat ~/.profile gibt keine solche Datei oder Verzeichnis aus,
/bin/cat ~/.bash_profile gibt Folgendes aus:
export PATH=’/usr/local/bin:??
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
Wenn ich das Programm mit gcc kompiliere bekomme ich "-bash: gcc: command not found"
Wenn ich jedoch die Befehle ausführe
export PATH="/usr/bin:/bin:/usr/sbin:/sbin"
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
…das Terminal funktioniert. Ich würde gerne wissen, wie es funktioniert, ohne diese Befehle auszuführen.
Ändern Sie die Datei .bash_profile mit nano oder einem anderen geeigneten Editor:
Ersetzen:
export PATH=’/usr/local/bin:??
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
von:
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
export PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH
Erläuterung:
Die erste Zeile Ihres aktuellen .bash_profile
export PATH=’/usr/local/bin:??
ändert den Standardwert von $PATH, der durch /etc/paths von gegeben wird
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
to ’/usr/local/bin:??
- was kein gültiger Pfad ist.
Die vierte und fünfte Zeile Ihres aktuellen .bash_profile ändert $PATH in
/Library/Frameworks/Python.framework/Versions/2.7/bin:’/usr/local/bin:??
Da ’/usr/local/bin:?
es keinen gültigen Pfad gibt, ist der letztendlich wirksame PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin
was Ihren Standard PATH vollständig durchbricht. Sie können weiterhin alle ausführbaren Dateien in den oben genannten Verzeichnissen ausführen, aber Sie können die übergeordneten Verzeichnisse nicht weglassen (z. B. um nano auszuführen, müssen Sie /usr/bin/nano
anstelle von eingeben nano
).
David Anderson
gcc
unter/usr/bin/gcc
. Ich glaube nicht, dass Sie ausführen können,gcc
bis Sie Xcode installieren. Dein Beitrag stellt eigentlich keine Frage. Was ist also genau das Problem, das Sie lösen möchten?klanomath
kein Hang
bash
, welche Fehlermeldung erhalten Sie?mtklr
kein Hang
export PATH
, aber das hilft Ihnen nicht, wenn die PATH-Definition von Anfang an falsch ist. Es hilft Ihnen auch nicht, wenn Ihr Problem nicht mit PATH zusammenhängt. Also helfen Sie uns bitte, Ihnen zu helfen, das Problem zu beschreiben, mit dem Sie beim Kompilieren von C++-Code konfrontiert sind, welche Dinge Sie bereits versucht haben und wo Sie jetzt feststecken.grg