Compilation d'un programme simple Hello World sur OS X via la ligne de commande


97

J'ai un exemple simple Hello World que j'essaie de compiler sur OS X, nommé hw.cpp:

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

J'aimerais le compiler en utilisant gcc, mais je n'ai pas eu de succès. J'aimerais aussi entendre les autres options, comme utiliser Xcode?


7
«Aucun succès» n'aide vraiment personne à diagnostiquer votre problème.
Gareth Davidson

Réponses:


183

Essayer

g++ hw.cpp
./a.out

g++est l'interface du compilateur C ++ vers GCC.
gccest 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 légèrement plus verbeuse:

#include <iostream>

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

17
@math: return 0est implicite dans main.
fredoverflow

3
@mathepic: et le +1. Ce n'est pas obligatoire en C ++. Si mainatteint la fin de la fonction sans toucher de retour, il renvoie implicitement 0.
Martin York

2
Ahh d'accord. Je l'utiliserais toujours pour plus de clarté.
alternatif

4
@mathepic: C'est 1 opinion. Personnellement, je trouve plus clair de ne pas l'utiliser.
Martin York

1
Pourquoi a.out? Dans les fenêtres, je m'attends à voir a.exe. Dans * nix, nous n'avons pas besoin d'extensions. Pourquoi utiliser .out sur aucune extension? aest aussi un nom par défaut étrange.
P.Brian.Mackey



5

Le compiler avec gccvous oblige à passer un certain nombre d'options de ligne de commande. Compilez-le g++plutôt avec .


2

La nouvelle version de ceci devrait se lire comme ceci:

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

Cela me donneld: 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)
Modifié le

@ Rat-a-tat-a-tat désolé je ne me souviens pas, c'était il y a 3 ans.
Édité le

1

Vous n'avez pas précisé quelle est l'erreur que vous voyez.

Est-ce que le problème gccvous donne une erreur ou que vous ne pouvez pas du tout exécuter gcc?

Si c'est le dernier cas, 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 dans votre chemin. Réinstallez les outils de développement et assurez-vous de cliquer sur «personnaliser» et de cocher cette case.


1

En outre, vous pouvez utiliser un IDE comme CLion (JetBrains) ou un éditeur de texte comme Atom, avec le plugin gpp-compiler, fonctionne comme un charme (F5 pour compiler et exécuter).


1

Utilisez ce qui suit pour plusieurs fichiers .cpp

g++ *.cpp
./a.out
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.