Partage
  • Partager sur Facebook
  • Partager sur Twitter

petite question sur les maccros

pour une compilation conditionnel

Sujet résolu
    31 mai 2008 à 11:44:38

    bonjour à tous :)

    J'ai un header qui definit une define TRUC_H
    et du code.
    /*truc.h*/
    #ifndef TRUC_H
    #define TRUC_H
    /*code*/
    #endif
    


    et dans un autre point h je fait ceci:
    /*fonction.h*/
    #ifdef TRUC_H
    /*code*/
    #else
    /*un autre code*/
    #endif
    


    Le but de cette condition est de pouvoir compiler un meilleur code si on a définit truc.h
    #include "truc.h"
    #include "fonction.h"
    


    mais dans ce cas, fonction.h compile la partie ou TRUC_H n'est pas définit dans fonction.h :(

    Je m'y prend mal?


    J'ai chercher dans mes livres de programmation et sur google sans succes...

    • Partager sur Facebook
    • Partager sur Twitter
      31 mai 2008 à 17:43:57

      peut-être qu'il n'a pas encore compilé ton header, donc lorsqu'il fait le .cpp TRUC_H n'est pas encore définie. Si tu utilise un IDE, tu peut toujours l'ajouter dans les paramêtre de projet.
      • Partager sur Facebook
      • Partager sur Twitter
        1 juin 2008 à 12:15:38

        Donc il n'est pas possible (avec des macros)
        de spécialiser un code selon les inclusion (ici de truc.h)?

        J'avoue ne jamais toucher aux paramètre du projet et je ne sais pas y ajouter une variable ...
        Mais si cela me permet de faire ma compilation conditionnelle je suis preneur ^^
        • Partager sur Facebook
        • Partager sur Twitter
          4 juin 2008 à 17:21:31

          non ca ne me permet pas de faire ma compilation conditionelle

          Je ne voit vraiment pas comment faire...
          • Partager sur Facebook
          • Partager sur Twitter
            5 juin 2008 à 11:19:06

            Non ça devrait fonctionner, doit y avoir autre chose qui merde dans ton code.
            • Partager sur Facebook
            • Partager sur Twitter
              5 juin 2008 à 16:22:47

              Le probleme viens forcemment de ma manière de penser mais je ne vois pas comment faire...

              #include <SDL/SDL.h>
              #include <SDL/SDL_image.h>//constante: _SDL_IMAGE_H
              #include "monHeader.h"
              /*Si _SDL_IMAGE_H est définit alors mes fonctions utiliseront 
              IMG_Load(const char*);tout format
              sinon :
              SDL_LoadBMP(const char*); format bmp uniquement
              */
              


              Or,je doit inclure <SDL/SDL_image.h> DANS mon header...

              Je souhaite que mon code marche avec ou sans SDL_image...

              est-ce possible? o_O


              et merci pour les réponses ^^
              • Partager sur Facebook
              • Partager sur Twitter
                10 juin 2008 à 20:52:55

                j'ai résolue mon probleme comme un grand
                il faut tout définir dans le .h ^^

                ce qui limite de beaucoup la programation modulaire... :-°



                • Partager sur Facebook
                • Partager sur Twitter

                petite question sur les maccros

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown