Bonjour,

Est-ce que les compilateurs définissent une variable d'environnement ou une directive de précompilation permettant de les identifier ?

Plus concrètement, voici mon problème, je compile un soft sous Windows avec Visual C++ et MinGW et j'obtiens une erreur dans un .h sur ces définitions de types :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
#if defined(_WIN32)
typedef           __int64 TBint64;                      // erreur avec MinGW !!
typedef unsigned __int64  TBuint64;
#else
typedef          long long TBint64;
typedef unsigned long long TBuint64;
#endif
Visual reconnait bien le type __int64 mais pas MinGW.
Pour aller encore plus loin est-il possible de déterminer si la version de Visual C++ qui est utilisé pour la compilation : VC6, VC.NET, VC2005 ... ?

D'avance merci.