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?
Odpowiedzi:
Próbować
g++
jest nakładką kompilatora C ++ na GCC.gcc
jest 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; }
źródło
return 0
jest domniemane w main.main
dojdzie do końca funkcji bez naciśnięcia powrotu, to niejawnie zwraca 0.a.out
? W oknach spodziewam się zobaczyća.exe
. W * nix nie potrzebujemy rozszerzeń. Po co używać .out zamiast bez rozszerzenia?a
jest też dziwną nazwą domyślną.źródło
źródło
Kompilowanie go z
gcc
wymaga podania szeregu opcji wiersza poleceń. Skompiluj go za pomocąg++
.źródło
Nowa wersja tego powinna brzmieć tak:
źródło
ld: 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)
Nie określiłeś, jaki jest wyświetlany błąd.
Czy problem
gcc
powoduje błąd lub żegcc
w 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.
źródło
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).
źródło
Użyj następujących dla wielu plików .cpp
źródło