Kompilowanie prostego programu Hello World na OS X za pomocą wiersza poleceń

102

Mam prosty przykład Hello World, który próbuję skompilować na OS X, o nazwie hw.cpp:

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

Chciałbym go skompilować gcc, ale nie udało mi się. Chciałbym również usłyszeć inne opcje, takie jak używanie Xcode?

erikvold
źródło
7
„Brak sukcesu” tak naprawdę nie pomaga nikomu w zdiagnozowaniu problemu.
Gareth Davidson

Odpowiedzi:

188

Próbować

g++ hw.cpp
./a.out

g++jest nakładką kompilatora C ++ na GCC.
gccjest nakładką kompilatora C na GCC.

Tak, Xcode jest zdecydowanie opcją. Jest to GUI IDE zbudowane na bazie GCC.

Chociaż wolę nieco bardziej szczegółowe podejście:

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
}
Martin York
źródło
17
@math: return 0jest domniemane w main.
fredoverflow
3
@mathepic: i +1. Nie jest to wymagane w C ++. Jeśli maindojdzie do końca funkcji bez naciśnięcia powrotu, to niejawnie zwraca 0.
Martin York
2
Ahh, dobrze. Nadal bym go używał dla jasności.
alternatywa
4
@mathepic: To jest 1 opinia. Osobiście uważam, że jaśniej jest go nie używać.
Martin York
1
Dlaczego a.out? W oknach spodziewam się zobaczyć a.exe. W * nix nie potrzebujemy rozszerzeń. Po co używać .out zamiast bez rozszerzenia? ajest też dziwną nazwą domyślną.
P.Brian. Mackey
35
g++ hw.cpp -o hw
./hw
nikt
źródło
Spośród wszystkich innych, ten działał dobrze. Dzięki.
Bruno Recillas
10
user@host> g++ hw.cpp
user@host> ./a.out
Sam Miller
źródło
5

Kompilowanie go z gccwymaga podania szeregu opcji wiersza poleceń. Skompiluj go za pomocą g++.

Ignacio Vazquez-Abrams
źródło
2

Nowa wersja tego powinna brzmieć tak:

xcrun g++ hw.cpp
./a.out
Badmanchild
źródło
To daje mild: 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, przepraszam, nie pamiętam, było 3 lata temu.
Eddified,
1

Nie określiłeś, jaki jest wyświetlany błąd.

Czy problem gccpowoduje błąd lub że gccw ogóle nie możesz uruchomić ?

Jeśli to drugie, najbardziej prawdopodobnym wyjaśnieniem jest to, że podczas instalowania narzędzi programistycznych nie zaznaczyłeś opcji „Wsparcie dla programistów UNIX”, więc pliki wykonywalne wiersza polecenia nie są instalowane na Twojej ścieżce. Zainstaluj ponownie narzędzia programistyczne i pamiętaj, aby kliknąć „dostosuj” i zaznaczyć to pole.

Stephen Canon
źródło
1

Możesz także użyć IDE, takiego jak CLion (JetBrains) lub edytora tekstu, takiego jak Atom, z wtyczką gpp-compiler, która działa jak urok (F5 do kompilacji i wykonania).

José Rojas
źródło
1

Użyj następujących dla wielu plików .cpp

g++ *.cpp
./a.out
wLc
źródło