J'ai une bibliothèque statique tierce qui a été construite sous AIX avec gcc. Lorsque j'essaie de lier cette bibliothèque en utilisant le compilateur xlC AIX, j'obtiens toutes sortes de symboles non résolus. Je crois que c'est dû aux différences de nom mangling. Si j'obtiens les noms mangés hors de la bibliothèque avec la commande nm, y a-t-il quelque chose de fondamentalement faux dans la construction du binaire avec le compilateur xlC à condition qu'il puisse trouver les symboles qu'il recherche? Quels problèmes je demande?liant une bibliothèque statique C++ construite par gcc avec un programme compilé par xlC?
Répondre
Cela ne marchera très probablement pas; voir la question C++ Faq Lite à ce sujet.
C++ est beaucoup plus compliqué que C, et il y a beaucoup de choses supplémentaires qui pourraient ne pas être compatibles.
Pour quelques exemples, la gestion des exceptions est-elle compatible? Les objets de données sont-ils disposés de la même manière (en C, l'ordre est comme indiqué, mais en C++ il peut varier avec les spécificateurs d'accès)? Est-ce que les vtables fonctionnent de la même manière? Comment est géré le dynamic_cast
? La différence de nom mangling vous empêche de créer des liens, mais il y a beaucoup d'autres différences qui peuvent vous mordre.
Vous êtes probablement mieux d'utiliser la version de gcc qu'ils ont faite. C'est ce que j'ai dû faire dans un projet similaire une fois.
- 1. Problème pour compiler un programme C par GCC avec la bibliothèque GD2 installée via MacPorts
- 2. Utilisation de DLL construite par MinGW/GCC dans un projet Visual Studio 2010 C++/CLI
- 3. Code compilé par gcc sur Visual Studio
- 4. comment lier la bibliothèque statique python avec mon programme C++
- 5. CMake Visual Studio liant l'exécutable avec la bibliothèque statique
- 6. Possible de créer une bibliothèque partagée avec une bibliothèque utilisée par lien statique?
- 7. compilant un programme C++ avec gcc
- 8. Extraire un fichier ZIP par programme par la bibliothèque DotNetZip?
- 9. Utilisation d'une bibliothèque statique compilée par MingGW dans Visual Studio
- 10. c statique liant à lib et demandant encore DLL
- 11. programme pur C++ compilé pour Android
- 12. jQuery liant à un élément par l'ID
- 13. AIX 5.3 (ld-xlc) option équivalente Linux (ld-gcc) -rpath
- 14. comment puis-je utiliser la construction de la bibliothèque statique par une version différente de mingw?
- 15. InstallUtill de GCC compilé .exe recevant System.BadImageFormatException
- 16. Avec GCC, comment exporter uniquement certaines fonctions dans une bibliothèque statique?
- 17. Problème avec la bibliothèque statique en C++
- 18. WPF TreeView liant par XAML
- 19. Exécution d'un programme C compilé sur un compte d'hébergement partagé?
- 20. Erreur lors de la liaison avec une bibliothèque statique tierce construite avec la version précédente de Visual Studio
- 21. En utilisant g ++, comment puis-je créer un lien avec une bibliothèque créée avec gcc?
- 22. WPF - DataTemplate liant à un membre statique
- 23. Silverlight peut-il être lié à une bibliothèque statique C++?
- 24. Générer par programme une DLL C Win32
- 25. Comment lancez-vous un programme compilé par cygwin à partir de windows C# (visual studio)?
- 26. Définir GCC par défaut à GCC 4.5 installé par Fink?
- 27. Comment ajouter une icône à un exécutable compilé mingw-gcc?
- 28. Obtenir un ResourceManager pour une bibliothèque statique
- 29. Bibliothèque statique C++ et zlib
- 30. Accès par programme à une bibliothèque de documents SharePoint?
Merci beaucoup. – ojblass