2010-11-01 5 views
57

J'ai un exemple du monde simple bonjour que je suis en train de compiler sur OS X, nommé hw.cpp:Compiler programme simple Bonjour tout le monde sur OS X via la ligne de commande

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

Je voudrais compiler il en utilisant gcc, mais je n'ai eu aucun succès. J'aimerais aussi entendre les autres options, comme utiliser Xcode?

+5

« Aucun succès » ne permet pas vraiment quelqu'un diagnostiquer votre problème. –

Répondre

118

Essayez

g++ hw.cpp 
./a.out 

g++ est le C++ frontend du compilateur GCC.
gcc est l'interface du compilateur C vers GCC.

Oui, Xcode est définitivement une option. C'est un IDE GUI qui est construit sur GCC.

Bien que je préfère une approche un peu plus bavard:

#include <iostream> 

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

Ne pas oublier 'return 0' – alternative

+8

@math:' return 0' est implicite dans main. – fredoverflow

+3

@mathepic: et le +1. Ce n'est pas nécessaire en C++. Si 'main' atteint la fin de la fonction sans frapper de retour, alors il retourne implicitement 0. –

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

Parmi tous les autres, celui-ci s'est très bien passé pour moi. Merci. –

4

avec gcc Compiler vous oblige à passer un certain nombre d'options de ligne de commande. Compilez-le avec g++ à la place.

1

Vous n'avez pas spécifié l'erreur que vous voyez.

Est-ce que le problème gcc vous donne une erreur ou que vous ne pouvez pas exécuter gcc? Si c'est la dernière, l'explication la plus probable est que vous n'avez pas coché "UNIX Development Support" lorsque vous avez installé les outils de développement, donc les exécutables de ligne de commande ne sont pas installés sur votre chemin. Réinstallez les outils de développement, et assurez-vous de cliquer sur "personnaliser" et cochez cette case.

1

La nouvelle version de ce qui devrait lire comme ceci:

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

Cela me donne 'ld: impossible de lier avec un fichier exécutable principal './a.out' pour l'architecture x86_64 clang: erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation) ' – Eddified

+0

@Eddified: Salut, avez-vous réussi à résoudre ce problème? Je l'obtiens aussi –

+0

@ Rat-a-tat-a-tat désolé je ne m'en souviens pas, il y a 3 ans. – Eddified

Questions connexes