j'ai un a.out et un module.so;
il y a le code d'une classe "A" dans le a.out;
il y a le code d'une classe "B" dans module.so;
le problème : je veux passer une classe "A" à une méthode de "B", cette méthode appelant elle-meme une méthode de "A".
en résumé :
A * a = new A;
B * b = creerClasseB_via_dlopen ();
B->f (a);
avec:
B::f (A * a)
{
a->g(); // <== problème
}
à l'exécution, j'obtiens "undefined symbol : g"
pourtant, j'ai :
> nm module.so | grep g
> U g
> nm a.out | grep g
> T g
faut-il compiler le a.out avec des options permettant la résolution des symboles ?
# -rdynamics ou -Wl,--export-dynamic
Posté par Nicolas Antoniazzi (site web personnel) . Évalué à 2.
[^] # Re: -rdynamics ou -Wl,--export-dynamic
Posté par deph . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.