2010-11-01 9 views
57

Tengo un ejemplo sencillo mundo hola que estoy tratando de recopilar en OS X, llamado hw.cpp:Compilación sencillo programa Hola mundo en OS X a través de línea de comandos

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

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

+5

"Ningún éxito" en realidad no ayuda a nadie a diagnosticar su problema. –

Respuesta

118

Trate

g++ hw.cpp 
./a.out 

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

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

Aunque yo prefiero un enfoque un poco más detallado:

#include <iostream> 

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

No olvide 'return 0' – alternative

+8

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

+3

@mathepic: y el +1. No es requerido en C++. Si 'main' llega al final de la función sin presionar return, devuelve implícitamente 0. –

21
g++ hw.cpp -o hw 
./hw 
+0

De todos los demás, este funcionó muy bien para mí. Gracias. –

4

Compilarlo con gcc se requiere para aprobar una serie de opciones de línea de comandos. Compítelo con g++ en su lugar.

1

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

¿El problema es que gcc le está dando un error, o que no puede ejecutar gcc en absoluto?

Si es el último, la explicación más probable es que no verificó "Soporte de desarrollo de UNIX" cuando instaló las herramientas de desarrollo, por lo que los ejecutables de 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

La nueva versión de este debería leer este modo:

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

Esto me da 'ld: no se puede vincular con un archivo ejecutable principal './a.out' para la arquitectura x86_64 clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación) ' – Eddified

+0

@Eddified: hola ¿logró solucionar este problema? lo consigo también –

+0

@ Rat-a-tat-a-tat Lo siento, no recuerdo, fue hace 3 años. – Eddified

Cuestiones relacionadas