Compilar programa simples Hello World no OS X via linha de comando

97

Eu tenho um exemplo simples hello world que estou tentando compilar no OS X, chamado hw.cpp:

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

Gostaria de compilá-lo usando gcc, mas não tive sucesso. Também gostaria de ouvir as outras opções, como usar o Xcode?

Erikvold
fonte
7
"Sem sucesso" realmente não ajuda ninguém a diagnosticar seu problema.
Gareth Davidson

Respostas:

183

Experimentar

g++ hw.cpp
./a.out

g++é a interface do compilador C ++ para o GCC.
gccé a interface do compilador C para o GCC.

Sim, o Xcode é definitivamente uma opção. É uma IDE GUI construída sobre o GCC.

Embora eu prefira uma abordagem um pouco mais detalhada:

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
}
Martin York
fonte
17
@math: return 0está implícito em principal.
fredoverflow 01 de
3
@mathepic: e o +1. Não é necessário em C ++. Se mainatingir o final da função sem atingir um retorno, ele implicitamente retornará 0.
Martin York
2
Ah! OK. Eu ainda o usaria para maior clareza.
alternativa
4
@mathepic: Essa é uma opinião. Pessoalmente acho mais claro não usá-lo.
Martin York
1
Porque a.out? Espero ver nas janelas a.exe. Em * nix, não precisamos de extensões. Por que usar .out em vez de nenhuma extensão? aé um nome padrão estranho também.
P.Brian.Mackey
35
g++ hw.cpp -o hw
./hw
ninguém
fonte
De todos os outros, este funcionou muito bem para mim. Obrigado.
Bruno Recillas
10
user@host> g++ hw.cpp
user@host> ./a.out
Sam Miller
fonte
5

Compilá-lo com gccrequer que você passe várias opções de linha de comando. Em g++vez disso, compile-o com .

Ignacio Vazquez-Abrams
fonte
2

A nova versão deve ser assim:

xcrun g++ hw.cpp
./a.out
Badmanchild
fonte
Isso me dá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)
editado em
@ Rat-a-tat-a-tat desculpe, não me lembro, foi há 3 anos.
Editado em
1

Você não especificou qual é o erro que está vendo.

É o problema que gccestá causando um erro ou que você não consegue executar gcc?

Se for o último, a explicação mais provável é que você não marcou "UNIX Development Support" quando instalou as ferramentas de desenvolvimento, portanto, os executáveis ​​de linha de comando não são instalados em seu caminho. Reinstale as ferramentas de desenvolvimento e certifique-se de clicar em "personalizar" e marcar essa caixa.

Stephen Canon
fonte
1

Além disso, você pode usar um IDE como o CLion (JetBrains) ou um editor de texto como o Atom, com o plugin gpp-compiler, funciona perfeitamente (F5 para compilar e executar).

José Rojas
fonte
1

Use o seguinte para vários arquivos .cpp

g++ *.cpp
./a.out
wLc
fonte