2010-06-08 5 views
19

Vous ne savez pas quoi faire de cette erreur. Ajouté -D_WIN32_WINNT=0x0501 aux options "Ligne de commande" de Visual Studio sous Propriétés du projet, mais il dit qu'il ne le reconnaît pas et l'avertissement apparaît toujours.Avertissement du compilateur D_WIN32_WINNT avec Boost

Je ne suis pas sûr non plus comment ajouter la définition de préprocesseur.

1> Veuillez définir _WIN32_WINNT ou _WIN32_WINDOWS de manière appropriée. Par exemple:
1> - ajouter -D_WIN32_WINNT = 0x0501 à la ligne de commande du compilateur; ou
1> - Ajoutez _WIN32_WINNT = 0x0501 à vos définitions de préprocesseur du projet .

Répondre

18

Je pense que vous êtes vraiment proche de faire fonctionner cela. John Dibling a donné trois façons de faire cela et il semble que vous ayez essayé la troisième solution, qui consistait à "entrer dans les paramètres de votre projet ... et sous le Propriétés de configuration-> C/C++ -> Préprocesseur rubrique, ajouter ;_WIN32_WINNT = 0x0501 ". Vous avez répondu que vous receviez toujours cette erreur et fourni le contenu de vos paramètres de préprocesseur, WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501. Je pense que vous pouvez résoudre ce problème si vous changez _WIN32_WINNT = 0x0501 en _WIN32_WINNT=0x0501. Lorsque j'ai essayé la version avec des espaces, cela n'a pas éliminé l'erreur, mais en supprimant les espaces.

3

Mettez un espace après le D

9

Quelques options.

1) Si vous avez un fichier d'en-tête principal, comme stdafx.h, vous pouvez ajouter ceci:

#define _WIN32_WINNT 0x0501 

Ou vous pourriez ajouter que partout où vous en avez besoin.

2) Vous pouvez ajouter -D _WIN32_WINNT=0x0501 (notez l'espace)

3) Aller à Propriétés du projet> Propriétés de configuration> C/C++> Proporcessor. Ajouter ;_WIN32_WINNT=0x0501 à Définitions de préprocesseur.

Personnellement, je choisis # 3 parce qu'il n'y a pas de doute étant défini au bon moment dans les unités de traduction à droite, et je préfère avoir tous les #defines dans un endroit plutôt qu'un être dans préprocesseur Définit et d'autres dans l'onglet avancé.

+0

est Ci-dessous une pâte exacte de ce qui est dans mon n ° 3). Toujours avoir cette erreur. :( WIN32; _DEBUG; _CONSOLE; _WIN32_WINNT = 0x0501 – bobber205

+2

et @ bobber205: en option 3 ne pas mettre des espaces autour des signe égal dans les définitions de préprocesseur ligne –

+0

juste une faute de frappe mineure: #define _WIN32_WINNT = 0x0501 est incorrect , supprimez le symbole "=".Ceci est correct: #define _WIN32_WINNT 0x0501 – Dredok

4

Ajoutez la ligne suivante dans votre code source principal.

#include <SDKDDKVer.h> 
0

Pour les blocs de code, voici comment procéder.

Faites un clic droit **Project Name** on your left >> Click 'Build Options' >> Select Debug or Release on your left >> Select 'Compiler Settings' Tab on the right >> Select #defines tab >> Ensuite, ajoutez la ligne suivante comme il est:

_WIN32_WINNT=0x0501 

>> Click Ok >> Close >> Right click **Project Name** again >> Re-build. 
Questions connexes