Comment afficher la liste des fonctions exportées dans une commune lib sur Ubuntu
J'ai juste construit un partagées lib sur Ubuntu, et quand j'essaye d'utiliser la fonction, l'application de chargement de la bibliothèque est de reporting 'xxx' symbole introuvable.
Je veux vérifier (c'est à dire la liste des fonctions qui sont exportées par ma bibliothèque afin que je puisse étudier cette question plus loin.
Les détails pertinents:
OS: Ubuntu 9.10
compilateur: gcc 4.4.1
l'éditeur de liens GNU ld 2.20
Vous devez vous connecter pour publier un commentaire.
Essayer le nm utilitaire.
fonctionne bien aussi.
--defined-only
option, sinon cette façon, vous obtiendrez des importations de trop. Aussi, pour obtenir que fonctions et non pas par exemple quelque chose comme_edata
, vous devriez regarder pour les symboles avecT
out
dans la deuxième colonne. Donc, quelque chose comme ceci:nm -DCg --defined-only $MY_LIB | grep '^[0-9a-f]\+ [Tt] '
Est votre bibliothèque partagée dans la bibliothèque de chemin de chargement ou dans l'application d'exécution du chemin de recherche? Il semble que la dynamique de l'éditeur de liens ne trouvez pas votre bibliothèque. Essayez d'exécuter
ldd
sur votre application pour voir si la bibliothèque peut être trouvé au moment de l'exécution, par exemple:Voir le ld.(8) page de manuel pour plus de détails sur la bibliothèque des chemins de recherche.