Se connecter / S'enregistrer
Votre question

pb avec librairie nurbs++ sous mdk10.0

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
23 Avril 2005 17:01:19

Salut je suis sous mdk 10.0 et j'ai besoin de la librairie nurbs++. La compilation puis l'instalation des sources c'est faite sans pb. C'est seulement lorsque j'essaye de compiler un programme que j'obtient les messages :
  1. [fabe@localhost nurbs]$ g++ tnurbs.cpp -L/usr/local/lib 2>kaipassa
  2.  
  3.  
  4.  
  5.  
  6. /home/fabe/tmp/ccrJBQwv.o(.text+0x64): In function `main':
  7. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3> >::operator[](int)'
  8. /home/fabe/tmp/ccrJBQwv.o(.text+0xe3): In function `main':
  9. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3> >::operator[](int)'
  10. /home/fabe/tmp/ccrJBQwv.o(.text+0x162): In function `main':
  11. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3> >::operator[](int)'
  12. /home/fabe/tmp/ccrJBQwv.o(.text+0x1e1): In function `main':
  13. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3>
  14. ...
  15. ... et plein d'autres du meme style.
  16. collect2: ld returned 1 exit status



je sais pas si c'est un pb de librairie j'ai pourtant bien précisé using namespace PLib :p an:

Svp aidez moi rapidement merci d'avance
[/color]

:cry: 

Autres pages sur : librairie nurbs mdk10

a b L Programmation
23 Avril 2005 23:53:57

C'est un problème de linkage:
La fonction main utilise la classe BasicArray
Tu as bien inclus les headers (.h), mais tu ne lie pas le programme avec les librairies qui contient les signatures utilisées pour la résolution de lien.

Tu utilise le -L pour donner le path, mais utilise aussi le -l (L minuscule) pour inclure la librairie spécifique. Un truc du genre:
-lplib
26 Avril 2005 17:10:48

j'ai apparemment résolu mon probleme de linkage.Grace à :

  1. g++ test_main.cpp -L/usr/local/lib -lnurbsd -lnurbsf -lmatrix -lmatrixN -lmatrixI


  1. [fabe@localhost nurbs]$ ./a.out
  2. ./a.out: error while loading shared libraries: libnurbsd.so.0: cannot open shared object file: No such file or directory

$ nurbs++-config --libs
-L/usr/local/lib -lcppunit

Je l'ai donc rajouer mais j'obtient alors :

  1. [root@localhost nurbs]# g++ test_main.cpp -I/usr/local/include -L/usr/local/lib -lcppunit -lmatrix -lmatrixI -lmatrixN -lnurbsd -lnurbsf
  2. /usr/local/lib/libcppunit.so: undefined reference to `dlclose'
  3. /usr/local/lib/libcppunit.so: undefined reference to `dlopen'
  4. /usr/local/lib/libcppunit.so: undefined reference to `dlsym'
  5. collect2: ld returned 1 exit status

[/size]

Si quelqu'un a déjà utiliser cette librairie ou pense avoir une réponse please help :violon:
Contenus similaires
a b L Programmation
26 Avril 2005 20:05:38

Apparemment il manque des trucs dans cppunit...
Mais je ne pense pas que cela règle le premier problème.
en fait il te manque un fichier libnurbsd.so.0 dans /usr/lib/
Je pense que tu as quelque part ce fichier. Peut-être as-tu désarchivé les librairies nurbs.
Bref si tu trouve des fichiers .so quelque part (équivalents à des .dll sous windows) il faut que tu les copient dans /usr/lib pour que ton programme puisse être lancé.
30 Avril 2005 11:08:59

Victoire!!!
J'ai enfin réussi à compiler et à exécuter mon programme.
l'astuce : j'ai copier tous les fichiers de /usr/local/lib dans /usr/lib

et je compile avec :
g++ test.cpp -L/usr/local/lib -lnurbsd -lnurbsf -lmatrix -lmatrixN -lmatrixI

merci CRicky pour ton aide
a b L Programmation
30 Avril 2005 13:34:23

np, mais tu n'es pas obligé de copier tous les fichiers, les .lib peuvent rester dans local.
Si tu as tout déplacé (même les .lib) tu peux compiler avec -L/usr/lib :-D
12 Décembre 2006 19:15:24

Vous devez ajouter la library -ldl to avoid l'error undefined reference to `dlclose'

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS