Pb de link avec VTK4.2.2 et la STL - undefined reference !! [C++] - C++ - Programmation
Marsh Posté le 13-04-2006 à 11:50:03
Si ça peut aider:
$cat /etc/redhat-release
Red Hat Enterprise Linux WS release 4 (Nahant Update 2)
$ uname -a
Linux lindyn02 2.6.9-22.EL #1 Mon Sep 19 18:20:28 EDT 2005 i686 i686 i386 GNU/Linux
Marsh Posté le 13-04-2006 à 12:02:55
Je pense que c'est peut-être un problème de version gcc ou libstl mais je ne sais pas trop quoi tenter...
Marsh Posté le 13-04-2006 à 14:15:05
t'as compiler ton vtk en statique déjà ? pourquoi ? tu l'as compilé exactement dans le même environnement ? t'as validé ton vtk avec des programmes de tests ?
pas d'erreur/warning de compilation ?
Marsh Posté le 13-04-2006 à 15:46:11
effectivement j'ai deux libstdc++ :
lindyn02:/home/quickview/OPNSRC/VTK-4.2.2/Linux2.6.9-22.EL$ ls -l /usr/lib/libstdc++* |
J'ai tenté de recompiler VTK en lib dynamique, quelques libs qui sont générées mais à un moment ça part en vrille. Si je fais ldd un des .so générés j'obtiens :
lindyn02:/home/quickview/OPNSRC/VTK-4.2.2/Linux2.6.9-22.EL$ ldd bin/libvtkCommon.so |
Sino les erreurs à la génération de VTK en .so sont là, je vais chercher comment résoudre ça.
|
Marsh Posté le 13-04-2006 à 16:10:48
bah ça a jamais pu compiler avant, je compreds pas ... faut que tu patchs
Marsh Posté le 13-04-2006 à 16:21:00
ha bein si ça compilait en statique... mais j'ai trouvé la solution sur le net, faut effectivement patcher... Bon ça continue de compiler, je poste l'info si ça intéresse des gens...
Solution: |
http://www.rz.uni-karlsruhe.de/rd/5427.php
Marsh Posté le 13-04-2006 à 17:30:38
Ca marche avec les lib dynamiques thx
Marsh Posté le 13-04-2006 à 10:43:35
Bonjour
Je n'arrive pas à faire le link de mon programme avec la lib VTK4.2.2 que j'ai moi-même compilée sous Linux noyau 2.6. Voilà le message d'erreur:
/home/quickview/OPNSRC/VTK-4.2.2/Linux2.6.9-22.EL/bin/libvtkCommon.a(vtkInterpolatedVelocityField.o)(.gnu.linkonce.t._ZNSt14__simple_allocIP10vtkDataSetSt24__default_alloc_templateILb1ELi0EEE10deallocateEPS1_j+0x1d): In function `std::__simple_alloc<vtkDataSet*, std::__default_alloc_template<true, 0> >::deallocate(vtkDataSet**, unsigned int)':
: undefined reference to `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)'
/home/quickview/OPNSRC/VTK-4.2.2/Linux2.6.9-22.EL/bin/libvtkCommon.a(vtkInterpolatedVelocityField.o)(.gnu.linkonce.t._ZNSt14__simple_allocIP10vtkDataSetSt24__default_alloc_templateILb1ELi0EEE8allocateEj+0x1d): In function `std::__simple_alloc<vtkDataSet*, std::__default_alloc_template<true, 0> >::allocate(unsigned int)':
: undefined reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)'
collect2: ld returned 1 exit status
make[2]: *** [/home/quickview/dev/sftvqvui_7.4.1/quickview/Linux2.6.9-22.EL/bin/qvtrace] Error 1
make[2]: Leaving directory `/home/quickview/dev/sftvqvui_7.4.1/quickview/src'
make[1]: *** [qvtrace] Error 2
make[1]: Leaving directory `/home/quickview/dev/sftvqvui_7.4.1/quickview/src'
make: *** [qvtrace] Error 2
g++ --version
g++ (GCC) 3.4.4 20050721 (Red Hat 3.4.4-2)
Je ne sais pas trop ce qui est en cause... Merci si vous avez une idée
Message édité par kaloskagatos le 13-04-2006 à 11:40:01
---------------
« Le hasard, c’est différent de la chance. Parce que la chance, je n'en ai jamais. »