Autre

Mac Comment éviter les 'Symboles non définis pour l'architecture x86_64' ?

mikezang

à
Affiche originale
22 mai 2010
Tokyo, Japon
  • 25 juil. 2015
J'ai essayé de créer une compilation croisée pour mon ancien Lego RCX, j'utilise GCC 3.3.6 et NEWLIB 1.13.
Code : |_+_|
Quand je le fais, j'ai enfin l'erreur ci-dessous, que puis-je faire?
Code : |_+_|

Madd le sain d'esprit

à
8 novembre 2010


Utah
  • 2 août 2015
Ce qui se passe, c'est que l'éditeur de liens d'OS X ne peut pas trouver la fonction spécifiée dans tout ce qu'il essaie de lier. La raison en est peut-être une macro de préprocesseur manquante ou le code et/ou la bibliothèque compilés ne sont pas liés.

mikezang

à
Affiche originale
22 mai 2010
Tokyo, Japon
  • 4 août 2015
Madd the Sane a déclaré : Ce qui se passe, c'est que l'éditeur de liens d'OS X ne peut pas trouver la fonction spécifiée dans tout ce qu'il essaie de lier. La raison en est peut-être une macro de préprocesseur manquante ou le code et/ou la bibliothèque compilés ne sont pas liés.
Merci pour votre message! pouvez-vous me dire comment résoudre ce problème? C

cqexbesd

4 juin 2009
Allemagne
  • 4 août 2015
mikezang a dit : Merci pour votre message ! pouvez-vous me dire comment résoudre ce problème?

Je ne fais que deviner ici, mais je pense que vous devrez peut-être installer gperf. Ensuite, commencez à construire à partir de zéro - c'est-à-dire faites distclean ou similaire - ou supprimez simplement votre répertoire et développez à nouveau le fichier tar.

cromulent

2 octobre 2006
Le pays de l'espoir et de la gloire
  • 4 août 2015
mikezang a dit : Merci pour votre message ! pouvez-vous me dire comment résoudre ce problème?

On dirait que vous utilisez le mauvais GCC.

Tapez le chemin complet vers GCC 3.3.6 ou ajoutez-le au chemin avec un nom différent de celui de GCC (car Apple fournit déjà une commande GCC qui exécute en fait clang). C'est pourquoi vous avez l'erreur suivante :

ld : symbole(s) introuvables pour l'architecture x86_64

clang : erreur : la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'appel)

Vous exécutez actuellement Clang qui compile en x86_64. Vous devez exécuter le GCC que vous avez compilé. Normalement, lors de la compilation de GCC en tant que compilateur croisé, vous lui donnez un nom différent de GCC (qui est l'une des options de script de configuration pour GCC lors de la compilation) afin que vous puissiez faire la différence entre le GCC fourni par le système et votre propre croix GCC compilateur.

mikezang

à
Affiche originale
22 mai 2010
Tokyo, Japon
  • 4 août 2015
cqexbesd a dit : Je ne fais que deviner ici, mais je pense que vous devrez peut-être installer gperf. Ensuite, commencez à construire à partir de zéro - c'est-à-dire faites distclean ou similaire - ou supprimez simplement votre répertoire et développez à nouveau le fichier tar.
Super! Hier soir, j'ai trouvé cette page http://stackoverflow.com/questions/3040801/error-compiling-gcc-undefined-reference-to-libc-name-p , l'erreur a disparu après l'avoir suivie.