[VC++6] Générer différents executables en fonction de la configuration [Résolu]

Signaler
Messages postés
10
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
17 juillet 2008
-
Messages postés
10
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
17 juillet 2008
-
Bonjour,

J'ai un projet sous VC++ 6 et je voudrais créer des executables avec des constantes differentes en fonction de la configuration.
Je m'explique :

Pour la configuration 1 je voudrais :
#define toto 123
#define tata 456

Et pour la configuration 2 :
#define toto 789
#define tata 000

Et a la génération, j'obtiendrais deux executables séparés avec chacun la bonne config.
Déjà, est-ce réalisable ? Si oui, comment ?
Si non, y a t  il une solution alternative ?

Merci

Guigui.

2 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
#define CONFIG 1
// ou 2

#if (CONFIG==1)
#define toto 123
#define tata 456
#else
#define toto 789
#define tata 000
#endif

mais il faudra compiler deux fois, en changeant la valeur de CONFIG entre.
tu peux aussi définir CONFIG directement dans les propriétés du projet.

Quoi que tu fasses, je pense pas qu'on puisse obtenir DEUX exécutables en une seule compilation, si c'est ça que tu voulais.
Messages postés
10
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
17 juillet 2008

Salut,


En fait, si c'est possible. Et tu n'étais pas loin juju ;)


Personnellement, j'ai fais (et ca marche) :


Tout d'abord, il faut créer autant de configurations que d'executables souhaités en sortie. Par exemple, j'avais besoin de 4 configurations : V1_DEBUG, V1_RELEASE, V2_DEBUG, V2_RELEASE
(par défaut il y a toujours deux configs : une pour le debug, l'autre pour la release)


Ensuite, dans la config du projet, il faut rajouter une variable (exemple VARCONFIG=1) a la compilation uniquement pour certaines configurations. Par exemple, uniquement pour V2_DEBUG et V2_RELEASE. Enfin, dans le code, j'ai mis :


#ifndef VARCONFIG
#define toto 123
#define tata 456
#else
#define toto 789
#define tata 000
#endif


Faire ensuite un batch build pour créer tous les executables et le tour est joué. Dans le dossier du projet, chaque configuration ajoutée aura son propre executable avec les bonnes constantes !

Guigui.