Compilación del programa Hello World simple en OS X a través de la línea de comandos


102

Tengo un ejemplo simple de hola mundo que estoy tratando de compilar en OS X, llamado hw.cpp:

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

Me gustaría compilarlo usando gcc, pero no he tenido éxito. También me gustaría escuchar las otras opciones, como usar Xcode.


7
"Sin éxito" realmente no ayuda a nadie a diagnosticar su problema.
Gareth Davidson

Respuestas:


188

Tratar

g++ hw.cpp
./a.out

g++es la interfaz del compilador de C ++ para GCC.
gcces la interfaz del compilador de C para GCC.

Sí, Xcode es definitivamente una opción. Es un IDE GUI que se construye sobre GCC.

Aunque prefiero un enfoque un poco más detallado:

#include <iostream>

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

17
@math: return 0está implícito en main.
fredoverflow

3
@mathepic: y el +1. No es necesario en C ++. Si mainllega al final de la función sin golpear una vuelta entonces implícitamente devuelve 0.
Martin York

2
Ah, está bien. Todavía lo usaría para mayor claridad.
alternativa

4
@mathepic: Esa es una opinión. Personalmente me parece más claro no usarlo.
Martin York

1
¿Por qué a.out? En las ventanas espero ver a.exe. En * nix no necesitamos extensiones. ¿Por qué usar .out sobre ninguna extensión? atambién es un nombre predeterminado extraño.
P.Brian.Mackey




2

La nueva versión de esto debería leerse así:

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

Esto me dald: 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)
Edificado el

@ Rat-a-tat-a-tat lo siento, no recuerdo, fue hace 3 años.
Edificado el

1

No especificó cuál es el error que está viendo.

¿Es el problema el que le gccestá dando un error o que no puede ejecutar gccen absoluto?

Si es lo último, la explicación más probable es que no marcó "Soporte de desarrollo de UNIX" cuando instaló las herramientas de desarrollo, por lo que los ejecutables de la línea de comandos no están instalados en su ruta. Vuelva a instalar las herramientas de desarrollo y asegúrese de hacer clic en "personalizar" y marcar esa casilla.


1

Además, puede usar un IDE como CLion (JetBrains) o un editor de texto como Atom, con el complemento del compilador gpp, funciona como un encanto (F5 para compilar y ejecutar).


1

Utilice lo siguiente para varios archivos .cpp

g++ *.cpp
./a.out
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.