web-dev-qa-db-fra.com

"Échec du lancement. Binaire introuvable." Snow Leopard et Eclipse C/C++ IDE problème

Pas une question, je viens de parcourir Internet à la recherche d'une solution à ce problème et j'ai pensé le partager avec les gens de SO. Je vais le dire clairement pour qu'il soit accessible aux débutants. :) (Excuses si c'est le mauvais endroit - juste essayer d'être utile.)

Ce problème se produit avec presque tous les utilisateurs de OS X Snow Leopard qui essaient d’utiliser l’IDE ​​Eclipse C/C++, mais est particulièrement agaçant pour les personnes (comme moi) qui utilisaient Eclipse C/C++ IDE dans Leopard et n'étaient plus en mesure de travailler avec Eclipse lors de la mise à niveau. Le problème se produit lorsque les utilisateurs vont créer/compiler/lier leur logiciel. Ils obtiennent l'erreur suivante:

Le lancement a échoué. Binaire introuvable.

De plus, la branche "binaires" dans la fenêtre de projet à gauche est tout simplement inexistante.

LE PROBLÈME: est-ce que GCC 4.2 (la collection de compilateurs GNU) est fourni avec Snow Leopard compile les fichiers binaires en 64 bits par défaut. Malheureusement, l'éditeur de liens qu'Eclipse utilise ne comprend pas les fichiers binaires 64 bits; il lit les binaires 32 bits. Il peut y avoir d’autres problèmes ici, mais en bref, ils aboutissent à l’absence de binaire, du moins pas à celui lu par Eclipse, ce qui signifie qu’Eclipse ne trouve pas les fichiers binaires. D'où l'erreur.

Une solution consiste à ajouter un indicateur -Arch i686 lors de la création du fichier, mais créer manuellement le fichier à chaque fois est gênant. Heureusement pour nous, Snow Leopard est également livré avec GCC 4.0, qui compile en 32 bits par défaut. Donc, une solution consiste simplement à lier ceci en tant que compilateur par défaut. C'est comme ça que je l'ai fait.

LA SOLUTION: Les GCC se trouvent dans/usr/bin, qui est normalement un dossier caché. Vous ne pouvez donc le voir dans le Finder que si vous indiquez explicitement au système que vous voulez voir les dossiers cachés. Quoi qu'il en soit, ce que vous voulez faire est d'aller dans le dossier/usr/bin et de supprimer le chemin qui lie la commande GCC à GCC 4.2 et d'ajouter un chemin qui relie la commande GCC à GCC 4.0. En d'autres termes, lorsque vous ou Eclipse essayez d'accéder à GCC, nous souhaitons que la commande aille au compilateur qui utilise 32 bits par défaut, afin que l'éditeur de liens puisse lire les fichiers. nous ne voulons pas que le compilateur soit compilé en 64 bits.

La meilleure façon de procéder consiste à accéder à Applications/Utilitaires et à sélectionner l'application appelée Terminal. Un message texte devrait apparaître. Il devrait dire quelque chose comme "(Nom de l'ordinateur): ~ (Nom d'utilisateur) $" (avec un espace pour la saisie de l'utilisateur à la fin). La façon d'accomplir les tâches ci-dessus consiste à entrer les commandes suivantes, en entrant chacune d'entre elles dans l'ordre, VERBATIM, et en appuyant sur entrée après chaque ligne individuelle.

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++

Comme moi, vous obtiendrez probablement une erreur vous indiquant que vous n’avez pas l’autorisation d’accéder à ces fichiers. Si c'est le cas, essayez plutôt les commandes suivantes:

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 peut vous demander un mot de passe. Si vous n'avez jamais utilisé Sudo auparavant, essayez simplement d'appuyer sur Entrée. Si cela ne fonctionne pas, essayez le mot de passe de votre compte administrateur principal.

AUTRES SOLUTIONS POSSIBLESVous pourrez peut-être entrer des variables de construction dans Eclipse. J'ai essayé cela, mais je n'en sais pas assez. Si vous voulez le savoir, le drapeau dont vous aurez probablement besoin est -Arch i686. En réalité, GCC-4.0 a travaillé pour moi tout ce temps, et je ne vois aucune raison de changer maintenant. Il y a peut-être un moyen de modifier la valeur par défaut pour le compilateur lui-même, mais encore une fois, je n'en sais pas assez.

J'espère que cela a été utile et informatif. Bon codage!

23
Alex

juste pour les enregistrements, après avoir lutté pendant 30 minutes, j'ai résolu ce problème sur lion (mac 10.7) en sélectionnant Mach-O 64 Parser et Elf Parser sous: Menu Projet -> Propriétés-> C/c ++ Construire-> Paramètres-> Analyseurs binaires onglet (premier onglet, ou troisième onglet sur Eclipse Version: 3.7.2) [tout en écoutant gwen stefani lol écouter Sweet Escape].

19
Viren

Je recevais le même message de 

Le lancement a échoué. Binaire introuvable.

parce que je n'avais pas réalisé que je devais ctrl-cliquer sur le dossier du projet et sélectionner "Construire le projet". Cela ne doit pas nécessairement être fait dans les projets Java dans Eclipse, d'autres débutants comme moi pourraient donc avoir le même problème.

18
Charlie

comme mentionné, ceci peut être accompli simplement en ajoutant le drapeau nécessaire dans Eclipse.

pour ce faire, ouvrez la fenêtre des propriétés, puis allez dans "c/c ++ build"> "settings". Dans l'arborescence à droite, accédez à "divers" de "Éditeur de liens MacOS X C" et "Compilateur GCC C" et ajoutez-les dans la zone de texte intitulée "" drapeaux ":" -Arch i686 ".

8
none

J'utilise Mac OSX 10.6.8 et la chaîne d'outils Cross GCC est installée sur mon Eclipse. Alors j'ai fait ça:

  1. Sous les propriétés du projet, sélectionnez C/C++ Build -> Tool Chain Editor.
  2. Changez la chaîne d’outils actuelle de Cross GCC à MacOSX GCC.
  3. J'ai également modifié le générateur Actuel en Générateur interne CDT. (Je ne sais pas si cela importait.)
  4. J'ai laissé tous les trucs sous Paramètres seul.
  5. Reconstruire. Vous devriez voir un fichier binaire portant le même nom que votre projet dans le dossier Debug de votre projet.
5
Evan McClure

Oh, encore une chose N'oubliez pas de noter vos liens avant de les modifier! Si vous ne souhaitez pas modifier les paramètres généraux du système, ajoutez un répertoire dans PATH avant/usr/bin (par exemple, $ HOME/bin) et créez les liens symboliques à cet emplacement. Si vous souhaitez revenir, voici le code que j'utiliserais. :

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

Vous voudrez vérifier votre/usr/bin et chercher un fichier qui ressemble à "gcc-4.x". Si ce n'est pas 4.0 ou 4.2, remplacez les numéros de version que vous avez par les numéros de version ci-dessus.

EDIT: Oh, j’ai également du mal à utiliser l’Eclipse Carbon 64 bits si j'utilise GCC-4.0. Cependant, le carbone 32 bits fonctionne très bien.

3
Alex

J'ai un programme appelé gcc_select qui contient un fichier de préférences quelque part et qui vous permettra de permuter entre plusieurs versions de gcc ... 

Je pense que je l'ai eu de macports, mais je ne suis pas sûr.

1
Brian Postow

"comme mentionné, ceci peut être accompli simplement en ajoutant le drapeau nécessaire dans Eclipse.

pour ce faire, ouvrez la fenêtre des propriétés, puis allez dans "c/c ++ build"> "settings". Dans l'arborescence à droite, accédez à "divers" de "Éditeur de liens MacOS X C" et "Compilateur GCC C" et ajoutez-les dans la zone de texte intitulée "" drapeaux ":" -Arch i686 ""

Notez que si vous suivez cette route, vous pouvez facilement vérifier l’architecture de votre processeur en appelant la commande 

uname -p

dans le terminal Bash (c’est-à-dire Terminal.app) et en remplaçant "-Arch i686" par "-Arch -i386".

1
Priestbait

Allez plutôt dans Projet -> Propriétés; Sélectionnez Génération C/C++ -> Paramètres; Sous Paramètres de l'outil, modifiez les commandes du compilateur C++ et de l'éditeur de liens de g ++ à g ++ - 4.0. Si vous rencontrez toujours des erreurs, changez le compilateur c également en gcc-4.0. J'ai également changé les paramètres du compilateur C pour être sûr. Tout fonctionne parfaitement bien pour moi.

0
user400418

Supprimez simplement le dossier "Debug" de votre projet, puis exécutez "Build project".

 enter image description here

0
Serge Voloshenko

Bonjour, j'ai installé Eclipse 32 bits et fonctionne parfaitement jusqu’à présent sur mac Mountain Lion .

0
uplearnedu.com