IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Ne pas compiler certains bouts de code


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Juin 2006
    Messages
    65
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Par d�faut Ne pas compiler certains bouts de code
    Bonjour.
    D�sol� pour le titre pourri, mais franchement je vois difficilement comment r�sumer �a.

    Je m'explique :
    Sous VC++2007, j'ai deux projet dans ma solution (ils compilent donc en m�me temps) qui ont des fichiers de classes en commun. Je voudrais que certaines m�thodes de ces classes soient compil�es par un projet mais pas par l'autre.

    Donc en gros, voici ce que je fait :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    // Fichier mainApp.h, appartenant uniquement au projet 1
    ...
    #define IS_MAIN_APPLICATION
    ...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Fichier maclasse.h
     
    classe Maclasse{
    public:
        void methode_en_commun();
     
        #ifdef IS_MAIN_APPLICATION
        void methode_que_seul_projet1_devrait_posseder();
        #endif
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    // Fichier maclasse.cpp
    #include maclase.h
     
    void Maclasse::methode_en_commun(){...}
     
    #ifdef IS_MAIN_APPLICATION
    void Maclasse::methode_que_seul_projet1_devrait_posseder(){...}
    #endif
    Le projet 2 ne compilant pas le fichier mainApp.h, pour lui tout se passe bien.
    Par contre, le projet 1 compile la d�claration de methode_que_seul_projet1_devrait_posseder() dans maclasse.h, mais il saute l'impl�mentation de cette fonction dans maclasse.cpp
    => Du coup �a me fait une erreur de link (lnk 2019).

    Vous avez une id�e ?
    Merci d'avance.

    Martin

  2. #2
    Membre �clair� Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par d�faut
    essaie sans mettre d'espace avant ton #.
    y a des compilo qui n'aime pas .

  3. #3
    Membre �clair� Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par d�faut
    Erreur de ma part, je viens d'essayer avec visual, y a pas de soucis avec les espace avant # d�sol�.

    Sinon, ton MainApp.h il est inclus ou ?

  4. #4
    Membre �clair� Avatar de fdubks
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    73
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par d�faut
    D�sol�, j'ai �cris n'importe quoi.
    Soucis avec mon clavier
    Je reprends:
    As tu essay� de d�finir ta directive avec les propri�t�s de ton projet dans visual et non dans un fichier include avec #define.

  5. #5
    Membre confirm�
    Inscrit en
    Juin 2006
    Messages
    65
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 65
    Par d�faut
    Citation Envoy� par fdubks
    As tu essay� de d�finir ta directive avec les propri�t�s de ton projet dans visual et non dans un fichier include avec #define.
    Ahh en voil� une bonne id�e ! Je le sens bien �a.
    Le seul soucis, c'est que je ne savais m�me pas qu'on pouvait d�finir des directives dans les propri�t�s d'un projet, et j'ai beau chercher dans la fen�tre Propri�t�s, je ne trouve pas o� ni comment le faire

  6. #6
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Propri�t�s du projet -> C/C++ -> Preprocessor -> Preprocessor definitions

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Compilation Conditionnelle (ne pas inclure certaines DLL)
    Par sk8world dans le forum Windows Mobile
    R�ponses: 3
    Dernier message: 16/01/2008, 16h16
  2. [MySQL] La page ne s'affiche pas avec ce bout de code
    Par mimagyc dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 12/08/2007, 23h56
  3. R�ponses: 2
    Dernier message: 18/05/2007, 12h34
  4. R�ponses: 23
    Dernier message: 26/04/2006, 19h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo