référence non définie au symbole même si nm indique que ce symbole est présent dans la bibliothèque partagée 2
j'ai trouvé même question ici, mais la réponse ne m'aide pas.
j'écris une application test pour utiliser la bibliothèque nglib. Mais quand j'essaie de le compiler, je reçois des références non définies:
$ g++ test1.cpp -L. -lnglib
test1.cpp: In function ‘int main()’:
/tmp/cchcKZfx.o:test1.cpp:function main: error: undefined reference to 'Ng_Init()'
/tmp/cchcKZfx.o:test1.cpp:function main: error: undefined reference to 'Ng_NewMesh()'
...
/tmp/cchcKZfx.o:test1.cpp:function main: error: undefined reference to 'Ng_Exit()'
collect2: ld returned 1 exit status
mais par exemple quand je cherche Ng_Init() dans libnglib.donc, j'obtiens un résultat positif.
$ nm -D libnglib.so | grep Ng_Init
000000000008d0d0 T _ZN5nglib7Ng_InitEv
donc je me demande pourquoi je reçois des erreurs de référence non définies ?!
0
demandé sur
Community
2013-04-06 13:52:25
1 réponses
_ZN5nglib7Ng_InitEv
démangles en nglib::Ng_Init()
qui n'est pas la même chose que Ng_Init()
.
3
répondu
n.m.
2013-04-06 10:15:06