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?


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;
}

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



5

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


2

A nova versão deve ser assim:

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

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.


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).


1

Use o seguinte para vários arquivos .cpp

g++ *.cpp
./a.out
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.