Tom's Guide > Forum > Programmation > pb avec librairie nurbs++ sous mdk10.0

pb avec librairie nurbs++ sous mdk10.0

Forum Programmation : pb avec librairie nurbs++ sous mdk10.0

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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 :

Code :
  1. [fabe@localhost nurbs]$ g++ tnurbs.cpp -L/usr/local/lib 2>kaipassa
  2. /home/fabe/tmp/ccrJBQwv.o(.text+0x64): In function `main':
  3. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3> >::operator[](int)'
  4. /home/fabe/tmp/ccrJBQwv.o(.text+0xe3): In function `main':
  5. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3> >::operator[](int)'
  6. /home/fabe/tmp/ccrJBQwv.o(.text+0x162): In function `main':
  7. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3> >::operator[](int)'
  8. /home/fabe/tmp/ccrJBQwv.o(.text+0x1e1): In function `main':
  9. : undefined reference to `PLib::BasicArray<PLib::HPoint_nD<float, (int)3>
  10. ...
  11. ... et plein d'autres du meme style.
  12. 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 :pan:

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

:cry:

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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

Répondre à CRicky

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

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



Code :
  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 :

Code :
  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:

Répondre à befalimpertinent

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é.

Répondre à CRicky

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

Répondre à befalimpertinent

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

Répondre à CRicky

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

Répondre à iva_arg
Tom's Guide > Forum > Programmation > pb avec librairie nurbs++ sous mdk10.0
Aller à :

Il y a 330 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens