Je compose de la compilation sous Linux (GCC 4.4.2) et Windows VS C ++ Express Edition 2008
Je compose actuellement sous Windows XP Pro 32 bit et j'ai ajouté ceci à mon code source. P>
#if defined( _MSC_VER ) /* Do windows stuff here */ #endif
3 Réponses :
Utilisez _Win32 à la place. L'analyseur Intellisense à VS2008 est gênant, cela pourrait ne pas nécessairement résoudre votre problème. Il a obtenu une réécriture complète dans VS2010. P>
Il n'y a pas de vous voulez win32 code>. Si vous l'avez vu être utilisé ailleurs, c'est faux ou le code définit explicitement cette macro elle-même quelque part. P>
_win32 code>. Voir https://docs.microsoft.com/en-us/cpp/ Prérocorocesseur / Prefiné-Macros pour une liste de macros prédéfinies dans le compilateur de Microsoft. P>
Cela a fonctionné pour moi!
#if defined (_WIN32)
#define PLATFORM "Windows"
#elif defined (__linux)
#define PLATFORM "Linux"
#endif
#include <iostream>
using namespace std;
int main()
{
cout << PLATFORM << "System" << endl;
return 0;
}
Bonjour, et bienvenue à Stackoverflow. Veuillez formater votre réponse de manière lisible. Vous pouvez voir certaines directives de formatage sur la barre latérale lorsque vous modifiez votre message.
Merci de la réparer pour moi. Je serai sûr de formater mon code correctement la prochaine fois.