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

Résolu
techno_man Messages postés 10 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 17 juillet 2008 - 15 juil. 2008 à 13:15
techno_man Messages postés 10 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 17 juillet 2008 - 17 juil. 2008 à 21:51
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.
A voir également:

2 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
15 juil. 2008 à 17:07
#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.
3
techno_man Messages postés 10 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 17 juillet 2008
17 juil. 2008 à 21:51
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.
3
Rejoignez-nous