Je compile sur une architecture 64 bits avec le compilateur Intel intel. Le même code construit bien sur une architecture Intel 64 bits différente. Maintenant, quand j'essaye de construire les binaires, j'obtiens un message "Sauter incompatibles ../../libtime.a" ou quelque chose de ce genre, qui indique la libtime.a que j'ai archivée (à partir de certains fichiers objet J'ai compilé) n'est pas compatible. Je ai googlé et il semblait que c'était généralement le résultat d'un changement de 32-> 64 bits ou quelque chose comme ça, mais le compilateur C intel ne semble pas soutenir une option de -64 ou une autre mémoire au moment de la compilation. Comment puis-je résoudre et corriger cette erreur?Saut d'erreur incompatible lors de la liaison
Répondre
Vous ne pouvez pas mélanger du code compilé 64 bits et 32 bits. Instructions de configuration pour Linux are here.
+1 En effet, il semble Derek tente de relier les bibliothèques 32bit avec 64bit ceux. – karlphillip
Il s'avère que le système était IA-64, et d'une manière ou d'une autre quelqu'un a installé des compilateurs 32 bits dessus. Cela n'est pas devenu évident pour moi jusqu'à ce que j'ai fait un "fichier" sur les fichiers objets créés. – Derek
Vous devez déterminer le processeur cible de la bibliothèque et du nouveau code que vous créez. Cela peut se faire de plusieurs façons, mais le plus simple est:
$ objdump -f ../../libtime.a otherfile.o
Pour libtime ce sera probablement imprimer des bouquets de choses, mais ils devraient tous avoir le même processeur cible. Assurez-vous que otherfile.o (auquel vous devriez substituer un de vos fichiers objet) a également la même architecture. Gcc a les options -m32 et -m64 pour passer de la cible par défaut à un processeur similaire avec les différents registres et largeur de mémoire (généralement x86 et x86_64), ce qui peut également être le cas du compilateur Intel C.
Si cela n'a pas été utile, vous devez inclure les commandes (avec tous les indicateurs) utilisées pour tout compiler et également les informations sur les systèmes sur lesquels chaque commande était exécutée.
merci pour le conseil, wasnt le problème cette fois, mais je me souviendrai de la commande objdump – Derek
- 1. Message lors de la navigation avec un navigateur incompatible
- 2. android - plateforme incompatible et package erreur lors de l'installation incompatible application sur téléphone
- 3. Liaison d'un saut de titre de NSMenuItem Validation activée/désactivée
- 4. Incompatible Signature de la méthode du noyau
- 5. iphone - localisation de code incompatible
- 6. Compilateur VS2010 et erreur cuda: la spécification de liaison est incompatible avec le précédent "hypot"
- 7. Compilateur VS2010 et erreur cuda: la spécification de liaison est incompatible avec le précédent "hypot"
- 8. La liaison à l'aide de g ++ échoue lors de la recherche de -lstdC++
- 9. Étrange attribution incompatible de pointeurs
- 10. Conserver la liaison MEX non sécurisée lors de la sécurisation de la liaison HTTP avec UsernamePasswordValidator?
- 11. avertissement: type de pointeur incompatible?
- 12. Incompatible Type Erreur Java
- 13. iPhone SHA1 incompatible
- 14. Plugin incompatible avec Gallery2
- 15. "type incompatible dans initializtion"
- 16. Type Incompatible dans l'attribution
- 17. Marque de propriété null lors de la liaison de données
- 18. Comment obtenir intellisense lors de la liaison de données XAML?
- 19. Erreur lors de la liaison de libvorbisfile.dylib dans l'application Mac
- 20. Erreurs de liaison lors de la construction avec Core Plot
- 21. g ++ dépendance de l'ordre de liaison lors de la liaison du code c au code C++
- 22. Commandes Prism - erreur de liaison lors de la liaison à l'élément de liste?
- 23. WPF wmv/mpg fichiers saut et saut
- 24. Saut DataContractSerializer OpenAccess Version de la version
- 25. Comportement étrange de l'assembleur MIPS avec instructions de saut (et de liaison)
- 26. ActiveRecord fondamentalement incompatible avec les clés composites?
- 27. avertissement de gcc pointeur à la fonction (type pointeur incompatible)
- 28. La déclaration forward génère une erreur de type incompatible
- 29. incompatible Objective-c types avertissement
- 30. saut algorithme de recherche
double possible de [Skipping Incompatible Bibliothèques à la compilation] (http://stackoverflow.com/questions/3119714/skipping-incompatible-libraries-at-compile) – user2284570