Forum Programmation.c++ Compilation qui échoue : undefined reference to .....

Posté par  .
Étiquettes : aucune
0
5
fév.
2005
Bonjour

J'ai ajouté il y a peu dans un projet que je développe sans prétention avec kdevelop un objet.
En fait, dans le projet, y'a cinq éléments : le wrapper à libxml2, deux autres librairies et leurs frontends respectifs.
J'ai ajouté dans le wrapper un objet XMLXPath. Je l'utilise dans XMLDocument et XMLDoubleDoc, et c'est tout. Ces objets sont tous dans le wrapper.
Mais voilà, la compilation échoue !
make[3]: Entering directory `/home/suse/fNux/subversion/svn/softwares/stable/libfpkg2/src/fpkg'
/bin/sh ../../libtool --tag=CXX --mode=link g++ -O2 -pedantic -Wall -g0 -g -O2 -o fpkg fpkg.o fpkg_config.o ../../src/libfpkg/libfpkg.la -lxml2
g++ -O2 -pedantic -Wall -g0 -g -O2 -o .libs/fpkg fpkg.o fpkg_config.o ../../src/libfpkg/.libs/libfpkg.so /home/suse/fNux/subversion/svn/softwares/stable/libfpkg2/src/libexml/.libs/libexml.so /usr/lib/libstdc++.so -lc -lgcc_s /usr/lib/libxml2.so -ldl -lpthread -lz -lm
/home/suse/fNux/subversion/svn/softwares/stable/libfpkg2/src/libexml/.libs/libexml.so: undefined reference to `XMLXPath::XMLXPath[in-charge]()'
collect2: ld returned 1 exit status
make[3]: *** [fpkg] Erreur 1

Je pige pas ce message... :(

Merci à quiconque pouvant aider à résoudre cet épineux problème !
  • # Hugh ?

    Posté par  . Évalué à 3.

    Pourquoi tu ajoute :
    ../../src/libfpkg/.libs/libfpkg.so /home/suse/fNux/subversion/svn/softwares/stable/libfpkg2/src/libexml/.libs/libexml.so et /usr/lib/libstdc++.so
    plutôt que :
    -lstdc++ -lfpkg -lexml -L../../src/libfpkg/.libs/ L/home/suse/fNux/subversion/svn/softwares/stable/libfpkg2/src/libexml/.libs/libexml.so ?
    • [^] # Re: Hugh ?

      Posté par  . Évalué à 3.

      Ben je laisse faire kdevelop ! J'estime qu'il sait mieux manipuler les Makefile abscons que moi...
      • [^] # Re: Hugh ?

        Posté par  . Évalué à 3.

        En tout cas t'as une sombre histoire de construteur non définit - il y a des chances que ce une couille de constructeur par défaut pas défini par le compilateur.

        J'ai déjà eu ce genre de problèmes, C++ est un peu casse couilles,
        Si tu est téméraire tu peux tenter de définir un constructeur par défaut vide
        style XMLXPath::XMLXPath(){}, mais je doute que ton code veuille bien tourner correctement si toutefois il compile.
        • [^] # Re: Hugh ?

          Posté par  . Évalué à 2.

          Puisse ton nom resplendir majestueusement sur tout linuxfr :)
          Que ton règne soit sanctifié et tout le tralala ;)

          T'as trouvé :) Il manquait un constructeur... (/me honteux)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.