erreur C1189: #erreur : Ce fichier nécessite _WIN32_WINNT à #défini au moins à 0x0500. Valeur 0x0501 ou plus est recommandé
Je crée projet MFC dans VS2010(windows xp). Et je profite de ce message d'erreur:
error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0500. Value 0x0501 or higher is recommended.
si j'ai ajouté dans afxcomctl32.h
: #define _WIN32_WINNT 0x0501
, je prends 60+ erreurs.
Dans le projet, je n'ai pas ajouté quelque chose. L'utilisation de tels que Visual Studio a créé.
Ce que je dois faire avec ça?
Avez-vous essayé y compris "de Windows.h" à la place? Ou d'abord?
Quelle version(s) de Windows avez-vous réellement besoin de soutien?
si je comprend windows.h dans stdafx.h, j'ai la même erreur.
Windows XP SP3, Windows XP Embedded
Est-ce la seule erreur que vous avez à sortir du?
Quelle version(s) de Windows avez-vous réellement besoin de soutien?
si je comprend windows.h dans stdafx.h, j'ai la même erreur.
Windows XP SP3, Windows XP Embedded
Est-ce la seule erreur que vous avez à sortir du?
OriginalL'auteur EXTRAM | 2013-02-01
Vous devez vous connecter pour publier un commentaire.
afxcomctl32.h est un mauvais endroit, je pense que, pour résoudre ce problème, effectuez votre stdafx.h comme ceci:
Assurez-vous d'avoir collé ce sur la première place dans stdafx.h?
Fonctionne pour moi! merci @duDE! (maintenant, c'est une affirmative, nom d'utilisateur!)
Merci, fonctionne!
Qui fonctionne parfaitement.
OriginalL'auteur duDE
Essayez d'ajouter ce point à la partie SUPÉRIEURE de votre StdAfx.h fichier:
Dans ma demande, je suis à la définition de
Au début, j'ai eu le même problème. J'ai découvert que, parce que lorsque vous utilisez MFC, vous n'êtes pas autorisé à inclure windows.h, _WIN32_WINNT_WINXP n'est jamais défini et donc _WIN32_WINNT n'ont pas une valeur valide. En incluant l'en-tête windows.h utilise pour définir ces valeurs (sdkddkver.h), du coup tout fonctionne!
Blech. J'ai hate de programmation pour Windows.
OriginalL'auteur aldo
Vous n'avez pas besoin de modifier afxcomctl32.h. Vous avez juste besoin d'inclure Windows.h avant de ce fichier.
Devrait fonctionner.
OriginalL'auteur strannik
J'ai résolu mon problème. Le fait est que le fichier
atmcore.h
était différente de la standart dans VS2010.OriginalL'auteur EXTRAM