2010-06-08 12 views
19

No estoy seguro de qué hacer con este error. Se agregó -D_WIN32_WINNT=0x0501 a las opciones de "Línea de comando" de Visual Studio en Propiedades del proyecto, pero dice que no lo reconoce y que la advertencia aún aparece.Advertencia del compilador D_WIN32_WINNT con Boost

Tampoco estoy seguro de cómo agregar la definición del preprocesador.

1> Defina _WIN32_WINNT o _WIN32_WINDOWS de forma adecuada. Por ejemplo:
1> - agregue -D_WIN32_WINNT = 0x0501 a la línea de comandos del compilador; o
1> - agregue _WIN32_WINNT = 0x0501 a sus definiciones de preprocesador del proyecto .

Respuesta

18

Creo que estás muy cerca de hacer que esto funcione. John Dibling dio tres formas de hacerlo y parece que probó la tercera solución, que era "ir a la configuración de su proyecto ... y bajo el encabezado Propiedades de configuración-> C/C++ -> PreProcesador, agregar ;_WIN32_WINNT = 0x0501 ". Usted respondió que todavía estaba recibiendo ese error y proporcionó el contenido de la configuración de su preprocesador, WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501. Creo que puedes resolver esto si cambias _WIN32_WINNT = 0x0501 a _WIN32_WINNT=0x0501. Cuando probé la versión con espacios, no eliminó el error, pero quitar los espacios sí lo hizo.

3

poner un espacio después de la D

9

Unas pocas opciones.

1) Si usted tiene un archivo de encabezado principal, como stdafx.hy, se podría añadir lo siguiente:

#define _WIN32_WINNT 0x0501 

O bien, podría añadir que en cualquier lugar que lo necesite.

2) Se pueden añadir -D _WIN32_WINNT=0x0501 (tenga en cuenta el espacio)

3) Ir a Proyecto Propiedades> Propiedades de configuración> C/C++> Proporcessor. Agregue ;_WIN32_WINNT=0x0501 a Definiciones del preprocesador.

En lo personal, elegir # 3 porque no hay duda de que se está definiendo en el momento adecuado en las unidades de traducción adecuados, y prefiero tener todos los #defines en un lugar y no en un ser preprocesador Define y otros en la pestaña avanzada.

+0

A continuación se muestra una pasta exacta de lo que está en mi # 3). Todavía estoy recibiendo ese error. :( WIN32; _DEBUG; _CONSOLE; _WIN32_WINNT = 0x0501 y – bobber205

+2

@ bobber205: en la opción # 3 no ponga espacios alrededor del signo igual en la línea de las definiciones del preprocesador –

+0

simplemente un error de menor importancia: #define _WIN32_WINNT = 0x0501 no es correcto , elimine el símbolo "=".Esto es correcto: #define _WIN32_WINNT 0x0501 – Dredok

4

Agregue la siguiente línea en su código fuente superior.

#include <SDKDDKVer.h> 
0

Para los bloques de código aquí es cómo lo haces.

Haga clic derecho **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 >> A continuación, agregue la siguiente línea, ya que es:

_WIN32_WINNT=0x0501 

>> Click Ok >> Close >> Right click **Project Name** again >> Re-build. 
Cuestiones relacionadas