Forum Programmation.c++ KDevelop : problèmes divers

Posté par  .
Étiquettes : aucune
0
30
août
2004
Bonjour

Je développe actuellement un groupe de programmes en C++ avec KDevelop 3.0. Et j'ai quelques problèmes :
- la première cible que j'ai créé installe le binaire dans bin, je le veux dans sbin : comment le faire changer ? (j'ai cherché partout pourtant il me semble)
- pourquoi KDevelop n'affiche-t-il pas les erreurs du link ? Il affiche les erreurs de compilation (heureusement) mais quand le make renvoie des fmerge.o(.text+0x11d): In function `main': undefined reference to `fpkg::database::~database [in-charge]()' rien ne s'affiche (c'est pas pratique !)
- comment corriger ce message d'erreur ? j'ai pourtant ajouté database.cpp à ma cible "2" (database.cpp appartient à la cible "1"). J'ai nettoyé le dossier, rien n'a changé.

Merci d'avance
  • # Option du projet

    Posté par  . Évalué à 0.

    Il y a plusieur solutions pour le /bin

    Tu peu editer les Makefiles a la main bof bof

    Ou

    tu peux specifier des option a la ligne de configuration dans le sous menu Projet -> Option du projet.

    Chez moi Kdvelop affiche les erreur de linckage dans la console de compilation en bas a gauche.

    Leur du linck vient du fait que ld ne trouve pas la lib fmerge.o. C'est a dire que le chemin pour y acceder ne lui est pas connu. La encore les option du porjet (rubrique CFLAGS peuvent d'aider).
    • [^] # Re: Option du projet

      Posté par  . Évalué à 1.

      tu peux specifier des option a la ligne de configuration dans le sous menu Projet -> Option du projet.
      Où ???? J'ai fait encore 2 fois le tour des options, j'ai pas trouvé.
      Je me suis peut être mal expliqué.
      j'ai 2 cibles : fpkg3 et fmerge. J'ai commencé par fpkg3 et j'ai pas spécifié où il était => il s'installe dans $PREFIX/bin. Pour fmerge2 j'ai pu spécifier sbin => il s'installe dans $PREFIX/sbin (comme je veux quoi).
      C'est pas le prefix que je veux changer !

      Chez moi Kdvelop affiche les erreur de linckage dans la console de compilation en bas a gauche.
      Quelle version ???

      Leur du linck vient du fait que ld ne trouve pas la lib fmerge.o. C'est a dire que le chemin pour y acceder ne lui est pas connu. La encore les option du porjet (rubrique CFLAGS peuvent d'aider).
      Ils sont tous dans le même dossier (pour 10 fichiers je vais pas tout séparer quand même ??)
      Voici le résultat de la commande make :
      suse@linux:~/fNux/fpkg3/src> make
      /bin/sh ../libtool --mode=link g++ -O2 -g0 -o fmerge fmerge.o fbuild.o -lxml2
      g++ -O2 -g0 -o fmerge fmerge.o fbuild.o /usr/lib/libxml2.so -lpthread -lz -lm
      fmerge.o(.text+0x6a): In function `main':
      ..........................

      Il suffit pour que ça compile que la commande g++ devienne :
      g++ -O2 -g0 -o fmerge fmerge.o fbuild.o database.o /usr/lib/libxml2.so -lpthread -lz -lm
      Comment changer ça ?
      • [^] # Re: Option du projet

        Posté par  . Évalué à 1.

        Chez moi Kdvelop affiche les erreur de linckage dans la console de compilation en bas a gauche.
        Quelle version ???

        Ben toute. Enfin j'ai pas la derniere... 3.1.x
        C'est la barre en bas avec tout les affichage pour la console, la compilation, CVS ...
        Moi je les ai là.
        Si jamais tu ne l'a pas ca vient du mode d'affichage

        Pour les autres questions la je suis au boulot sous Win (oui je sais on dirait pas que je bosse la...) donc je peux pas regarder.
        De tete je dirais que pour la lib database.o, il faut que tu ouvre l'onglet de configuration autogen et que tu rajoute le fichier qui va bien dans les dependance. A prendre avec des pincette cependant a prendre avec des pincette, c'est de tete.
        Si qu'un pouvait infirmer ou confirmer ce que je dis.

Suivre le flux des commentaires

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