Étant donné une chaîne d'outils C++/GNU, quelle est une bonne méthode ou outil ou stratégie pour résoudre les erreurs de l'éditeur de liens?Comment gérer les erreurs de l'éditeur de liens dans la chaîne d'outils C++/GNU?
Répondre
Avec toolchain gcc, j'utilise:
- nm: trouver les symboles dans les fichiers objet
- ld: trouver comment un des liens de la bibliothèque
- C++ filt: pour trouver le nom C++ d'un symbole à partir de son nom tronqué
Vérifiez this pour plus de détails.
nm -u pour les symboles non définis seulement – coelhudo
Examinez les noms des symboles signalés comme étant problématiques.
- S'il y a des symboles manquants signalés, savoir dans quel fichiers source ou des bibliothèques les fonctions/... doit être définie. Vérifiez la compilation/paramètres de l'éditeur de liens pour savoir pourquoi ces fichiers ne sont pas compilés ou liés .
- S'il existe des symboles à plusieurs définitions, l'éditeur de liens mentionne généralement les fichiers d'objets ou les bibliothèques qui les contiennent. Regardez ces fichiers/leurs sources pour savoir pourquoi les fonctions incriminées/... sont incluses dans les deux.
Je ne sais pas exactement ce que vous voulez dire, mais si vous parlez des symboles de l'éditeur de liens énigmatiques comme:
mylib.so: non défini symbole: _ZN5CandyD2Ev
vous pouvez utiliser C++ filt faire Puzzling pour toi.
C++ filt _ZN5CandyD2Ev
retournera Bonbons :: ~ Candy() donc en quelque sorte le destructeur de Candy ne se relier.
Eh bien, la première chose serait RTFM. Non, sérieusement, lisez la documentation.
Si vous ne voulez pas faire cela, essayez une recherche sur l'erreur qui survient.
Voici quelques autres points à retenir: les symboles «manquants» indiquent souvent que vous n'avez pas inclus la source ou la bibliothèque appropriée; les symboles "manquants" sont parfois une indication que vous essayez de lier une bibliothèque créée avec une convention de mangling différente (ou un compilateur différent); assurez-vous que vous avez extern "C", le cas échéant; déclarer et définir ne sont pas la même chose; Si votre compilateur ne supporte pas "export" assurez-vous que votre code de template est disponible lorsque vous instanciez des objets.
S'il y avait quelque chose qui approchait de la documentation, je ne serais pas dans ce pétrin ... Votre conseil aide, cependant. –
Heureux d'aider du tout, désolé pour le manque de docs. :( –
- 1. Comment gérer les erreurs de jetons?
- 2. Comment gérer les erreurs dans Messaging.sendEmail()?
- 3. Doutils ASP.NET
- 4. Comment gérer les erreurs de CLLocationManager?
- 5. Meilleure façon de gérer les erreurs
- 6. Comment gérer les liens inclus en PHP?
- 7. gérer les erreurs de contrainte mysql
- 8. Comment gérer les erreurs dans les applications Windows
- 9. Comment gérer les erreurs d'arrondi sur les doubles dans vb.net?
- 10. Gérer les erreurs de liaison de données dans ASP.net
- 11. JavaScript/ExtJs: TreePanel/TreeLoader: comment gérer les erreurs de chargement?
- 12. Comment dois-je gérer les erreurs dans l'application Codeigniter
- 13. Comment gérer les redirections de liens lors de la migration d'ASP classique vers ASP.NET?
- 14. Comment gérer les erreurs HTTP 403.9 dans le fichier web.config?
- 15. Apache Virtual Host dans Windows - comment gérer les liens symboliques?
- 16. comment gérer les erreurs d'exécution dans iphone sdk?
- 17. Comment gérer "#" dans une chaîne de requête dans mod_rewrite?
- 18. Firefox incapable de gérer% 2b dans la page Liens
- 19. android videoview - gérer les mauvaises erreurs urls?
- 20. Créer les liens d'une chaîne dans OpenGL
- 21. Impossible de gérer les erreurs dans la méthode SoapServer-> handle() de PHP
- 22. .NET DataGridView: façon correcte de gérer les erreurs d'analyse lors de la gestion de l'événement CellParsing?
- 23. Comment gérer l'incapacité de casser les erreurs de syntaxe dans un analyseur de descente récursif
- 24. comment gérer les guillemets dans une chaîne lors de la transmission de cette chaîne à la ligne de commande
- 25. Gérer les erreurs fatales dans PHP en utilisant register_shutdown_function()
- 26. Adresse Jquery: impossible de gérer les liens profonds entrants?
- 27. Gérer les erreurs au niveau de l'application ou du serveur?
- 28. Quelle est la meilleure façon de valider plusieurs emails et gérer les erreurs dans Rails?
- 29. Rails 3 - AJAX, réponse JS - Comment gérer les erreurs
- 30. Pourquoi ai-je ces erreurs de liens?
quel genre d'erreur de l'éditeur de liens? et sur Linux je suppose? –
Je ne suis pas sûr de ce que vous obtenez .. vous devez corriger votre code ou les paramètres de compilation/compilateur. – leeeroy
@Hassan: Je cherche plutôt une méthode générale plutôt qu'une recommandation spécifique. –