Pregunta

Estoy intentando llamar a algunas funciones de WFP desde una biblioteca de clases CLR de C ++ (Nuevo proyecto -> Visual C ++ -> CLR -> Biblioteca de clases)

Código:

#include <windows.h>
#include <fwpmu.h>
#pragma comment (lib, "fwpuclnt.lib")

Con solo eso, muchos incluyen archivos del SDK de Windows que no se compilan.¿Qué me estoy perdiendo?

Ejemplo:

Error 12 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (program files)\microsoft sdks\windows\v7.0a\include\fwptypes.h 336 1 testlib

Editar:

Encontré la solución, es un error en algunos archivos de encabezado: http://social.msdn.microsoft.com/Forums/en/wfp/thread/8fd93a3d-a794-4233-9ff7-09b89eed6b1f

Y un conflicto entre CLR y otro encabezado: http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/92c473d6-c963-44fa-9150-6c6af502112b

¿Fue útil?

Otros consejos

También tuve este error, pero la respuesta de larga data proporcionada por Izm no me lo resolvió, desafortunadamente. También intenté reparar y reinstalar Visual Studio, entre otras cosas, sin éxito.

En mi caso, lo que finalmente se solucionó fue reinstalar el SDK de Windows para 8.0. Por alguna razón, el archivo faltaba en el directorio C:\Program Files (x86)\Windows Kits\8.0\Include\um en el que debería haber estado. El archivo estaba en varios otros lugares para otros SDK de Windows (8.1 y 10), pero no en el utilizado por el proyecto.

No sé por qué faltaba, pero descubrí que no estaba allí al mirar las propiedades del proyecto de C ++ relevante y ver en qué se evaluaban las opciones de inclusión de directorios heredadas, que terminó siendo el kit 8.0 carpeta. Pensé que estaba allí desde que vi el archivo en otras carpetas, pero no estaba en la carpeta correcta, presumiblemente porque algo en algún lugar estropeó los archivos 8.0 SDK para mí.

Espero que esto ayude a cualquier otra persona que experimente el error o errores similares.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top