Pergunta

Então, eu sou um novo programador e Acabei de instalar o Xcode no meu Macbook para obter o GCC. Acho Xcode é a única maneira para obter GCC em OSX. Agora, quando eu executar o meu aplicativo Olá Mundo, em C ++, g ++ aparece dizendo que é a versão 4.0.1, mas quando eu olho para os comandos começando com g também vejo g ++ - 4.2. Existe alguma maneira de fazer 4.2 padrão ao invés de 4.0.1, e também há uma maneira de atualizar gcc para a última versão 4.4.0?

EDIT: Ok, então eu instalei MacPorts e gcc4.4 instalado e ele aparece no terminal como gcc-mp-4.4 e como faço para torná-lo padrão com gcc_select, como o que são os comandos e outras coisas. Obrigado.

Foi útil?

Solução

Se você instalar MacPorts você pode instalar o gcc selecionar, em seguida, escolha a sua versão gcc.

/opt/local/bin/port install gcc_select

Para ver as versões usam

port select --list gcc

Para selecionar um uso versão

sudo port select --set gcc gcc40

Outras dicas

Eu sei que é um pedido antigo. Mas ainda pode ser útil para alguns. Com versões atuais do MacPorts, você pode escolher a versão gcc padrão usando o comando de porta. Para listar as versões de gcc, use:

$ sudo port selecionar --list gcc

Available versions for gcc:
gcc42
llvm-gcc42
mp-gcc46
none (active)

Para definir gcc para a versão MacPorts:

$ sudo port selecionar --set gcc mp-gcc46

Eu estou apenas deixando cair dentro para dizer que o uso de um soft link para alcançar este é um terrível, não-bom, ideia horrível.

Uma das principais coisas sobre a escrita de software é reprodutibilidade - você quer ser capaz de obter os mesmos resultados de cada vez. Estes sistemas são tão complexos que você quer reduzir todas as fontes invisíveis de erro.

Ter um soft link é uma fonte invisível de erro. É o tipo de coisa que você vai esquecer em um mês, em seguida, passar para uma máquina diferente, e admira por isso que você está recebendo resultados diferentes - ou, você vai tentar atualizar seu sistema, e você vai obter erros estranhos porque não é esperando um softlink lá.

Além disso, este não é garantido para trabalhar -., Em particular, não é claro que você vai ter o sistema correto incluir arquivos, que certamente mudaram entre as iterações de gcc

gcc_select é uma maneira sistemática de fazer a mesma coisa que vai funcionar de maneira previsível, ou, no pior caso, você pode enviar um relatório de bug e obter uma eventual correção ou corrigi-lo sozinho.

Infelizmente :-( gcc_select não afeta que usa compilador Xcode por isso não é o caminho a percorrer se você precisa trabalhar em XCode (que eu). Eu ainda não sei o que forma poderia ser.

uso "gcc_select -l"

> gcc_select -l

gcc40 pf-gcc44

> pf-gcc44 gcc_select

A seguinte receita usando Homebrew trabalhou para me atualizar para gcc / g ++ 4.7:

$ brew tap SynthiNet/synthinet
$ brew install gcc47

encontrou em um post aqui .

no tipo /usr/bin

sudo ln -s -f g++-4.2 g++

sudo ln -s -f gcc-4.2 gcc

Isso deve fazê-lo.

Você pode ter várias versões do GCC em sua caixa, para selecionar o que você quer usar chamá-lo com caminho completo, por exemplo, em vez de uso g++ /usr/bin/g++ caminho completo na linha de comando (depende de onde suas vidas gcc).

Para compilar projetos depende do que sistema você usa, eu não tenho certeza sobre o Xcode (estou feliz com padrão atm), mas quando você usa Makefiles você pode definir Gxx = / usr / bin / g ++ e assim por diante.

Editar

Há agora um script xcrun que pode ser consultado para selecionar a versão apropriada de ferramentas de compilação no mac. Além de man xcrun Eu pesquisei esta explicação sobre ferramentas Xcode e linha de comando que praticamente resume como usá-lo.

navios que quer que a Apple como o gcc padrão no Xcode (4.2.1 em 10,6, 4.0.1 antes) é bem testado (e mantidos) pelos caras da Apple e o "padrão" para software de compilação com no OS X. Tudo o resto não é, então pense duas vezes se você quer desenvolver software, ou seja gcc / OS X beta tester.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top