Kompilieren eines einfachen Hello World-Programms unter OS X über die Befehlszeile


97

Ich habe ein einfaches Hallo-Welt-Beispiel, das ich unter OS X kompilieren möchte hw.cpp:

#include <iostream>
#include <string>
using namespace std;
int main() {
  cout << "Hello world!" << endl;
  return 0;
}

Ich würde es gerne mit kompilieren gcc, aber ich hatte keinen Erfolg. Ich würde auch gerne die anderen Optionen hören, wie die Verwendung von Xcode?


7
"Kein Erfolg" hilft niemandem wirklich bei der Diagnose Ihres Problems.
Gareth Davidson

Antworten:


182

Versuchen

g++ hw.cpp
./a.out

g++ist das C ++ - Compiler-Frontend für GCC.
gccist das C-Compiler-Frontend für GCC.

Ja, Xcode ist definitiv eine Option. Es ist eine GUI-IDE, die auf GCC aufbaut.

Obwohl ich einen etwas ausführlicheren Ansatz bevorzuge:

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
}

17
@math: return 0ist in main implizit.
Fredoverflow

3
@mathepic: und die +1. Es ist in C ++ nicht erforderlich. Wenn maindas Ende der Funktion erreicht ist, ohne eine Rückgabe zu treffen, wird implizit 0 zurückgegeben.
Martin York

2
Ah, in Ordnung. Ich würde es immer noch aus Gründen der Klarheit verwenden.
Alternative

4
@mathepic: Das ist 1 Meinung. Persönlich finde ich es klarer, es nicht zu benutzen.
Martin York

1
Warum a.out? In Fenstern erwarte ich zu sehen a.exe. In * nix benötigen wir keine Erweiterungen. Warum .out über keine Erweiterung verwenden? aist auch ein seltsamer Standardname.
P.Brian.Mackey



5

gccZum Kompilieren müssen Sie eine Reihe von Befehlszeilenoptionen übergeben. Kompilieren Sie es g++stattdessen mit.


2

Die neue Version sollte folgendermaßen lauten:

xcrun g++ hw.cpp
./a.out

Dies gibt mirld: can't link with a main executable file './a.out' for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Eddified

@ Rat-a-tat-a-tat Entschuldigung, ich erinnere mich nicht, war vor 3 Jahren.
Eddified

1

Sie haben nicht angegeben, welcher Fehler angezeigt wird.

Ist das Problem, gccdas Ihnen einen Fehler gibt oder das Sie überhaupt nicht ausführen gcckönnen?

Wenn es das letztere ist, ist die wahrscheinlichste Erklärung, dass Sie bei der Installation der Entwicklungstools nicht "UNIX Development Support" aktiviert haben, sodass die ausführbaren Befehlszeilendateien nicht in Ihrem Pfad installiert sind. Installieren Sie die Entwicklungstools erneut und klicken Sie auf "Anpassen" und aktivieren Sie dieses Kontrollkästchen.


1

Sie können auch eine IDE wie CLion (JetBrains) oder einen Texteditor wie Atom verwenden. Das gpp-Compiler-Plugin funktioniert wie ein Zauber (F5 zum Kompilieren und Ausführen).


1

Verwenden Sie Folgendes für mehrere CPP-Dateien

g++ *.cpp
./a.out
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.