“Lançamento falhou. Binary Not Found. ”Problema do Snow Leopard e do Eclipse C / C ++ IDE

Não é uma pergunta, eu acabei de vasculhar a internet em busca de uma solução para este problema e pensei em compartilhá-lo com os bons amigos do SO. Vou colocá-lo em termos simples para que seja acessível a newbs. :) (Desculpas se este é o lugar errado - apenas tentando ser útil.)

Esse problema ocorre com quase qualquer usuário OS X Snow Leopard que tenta usar o Eclipse C / C ++ IDE, mas é particularmente irritante para as pessoas (como eu) que estavam usando o Eclipse C / C ++ IDE no Leopard e não puderam trabalhar com o Eclipse mais quando eles atualizaram. O problema ocorre quando os usuários vão construir / compilar / vincular seu software. Eles recebem o seguinte erro:

Lançamento falhou. Binário não encontrado.

Além disso, a ramificação "binários" na janela do projeto à esquerda é simplesmente inexistente.

O PROBLEMA: é que o GCC 4.2 (o GNU Compiler Collection) que vem com o Snow Leopard compila os binários em 64 bits por padrão. Infelizmente, o vinculador que o Eclipse usa não entende binários de 64 bits; ele lê binários de 32 bits. Pode haver outros problemas aqui, mas em resumo, eles culminam em nenhum binário sendo gerado, pelo menos nenhum que o Eclipse possa ler, o que significa que o Eclipse não encontra os binários. Daí o erro.

Uma solução é adicionar um sinalizador i686 -arch ao criar o arquivo, mas fazer manualmente o arquivo toda vez é irritante. Felizmente para nós, o Snow Leopard também vem com o GCC 4.0, que compila em 32 bits por padrão. Portanto, uma solução é simplesmente vincular isso como o compilador padrão. Foi assim que eu fiz.

A SOLUÇÃO: Os GCCs estão em / usr / bin, que normalmente é uma pasta oculta, portanto você não pode vê-la no Finder, a menos que diga explicitamente ao sistema que deseja ver pastas ocultas. De qualquer forma, o que você quer fazer é ir para a pasta / usr / bin e deletar o caminho que liga o comando GCC ao GCC 4.2 e adicionar um caminho que vincule o comando GCC ao GCC 4.0. Em outras palavras, quando você ou o Eclipse tentam acessar o GCC, queremos que o comando vá para o compilador que é construído em 32 bits por padrão, para que o vinculador possa ler os arquivos; nós não queremos que ele vá para o compilador que compila em 64 bits.

A melhor maneira de fazer isso é ir para Aplicativos / Utilitários e selecione o aplicativo chamado Terminal. Um prompt de texto deve aparecer. Ele deve dizer algo como "(nome do computador): ~ (nome de usuário) $7$quot; (com um espaço para a entrada do usuário no final). A maneira de realizar as tarefas acima é inserir os seguintes comandos, inserindo cada um na sequência VERBATIM e pressionando enter após cada linha individual.

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.0 cc
ln -s gcc-4.0 gcc
ln -s c++-4.0 c++
ln -s g++-4.0 g++

Como eu, você provavelmente receberá um erro informando que não tem permissão para acessar esses arquivos. Em caso afirmativo, tente os seguintes comandos:

cd /usr/bin
sudo rm cc gcc c++ g++
sudo ln -s gcc-4.0 cc
sudo ln -s gcc-4.0 gcc
sudo ln -s c++-4.0 c++
sudo ln -s g++-4.0 g++

Sudo pode solicitar uma senha. Se você nunca usou o sudo antes, tente apenas pressionar enter. Se isso não funcionar, tente a senha da sua conta de administrador principal.

OUTRAS SOLUÇÕES POSSÍVEIS Você pode inserir variáveis ​​de construção no Eclipse. Eu tentei isso, mas não sei o suficiente sobre isso. Se você quiser sentir, a bandeira que você provavelmente precisará é -arch i686. Para valer, o GCC-4.0 funcionou para mim todo esse tempo e não vejo nenhum motivo para mudar agora. Pode haver uma maneira de alterar o padrão do próprio compilador, mas, mais uma vez, não sei o suficiente sobre isso.

Espero que isso tenha sido útil e informativo. Boa codificação!

questionAnswers(10)

yourAnswerToTheQuestion