Pergunta

Estou tentando chamar algumas funções WFP de uma biblioteca de classes C ++ CLR (Novo projeto -> Visual C ++ -> CLR -> Biblioteca de classes)

Código:

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

Com apenas isso, muitos arquivos incluídos do SDK do Windows falham ao compilar.O que estou perdendo?

Exemplo:

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:

Encontrei a solução, é um bug em alguns arquivos de cabeçalho: http://social.msdn.microsoft.com/Forums/en/wfp/thread/8fd93a3d-a794-4233-9ff7-09b89eed6b1f

E um conflito entre o CLR e outro cabeçalho: http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/92c473d6-c963-44fa-9150-6c6af502112b

Foi útil?

Outras dicas

Eu também tive esse erro, mas a resposta de longa data fornecida por Izm não resolveu para mim, infelizmente. Eu também tentei reparar e reinstalar o Visual Studio, entre outras coisas, sem sucesso.

No meu caso, o que finalmente corrigiu foi reinstalar o SDK do Windows para 8.0. Por alguma razão, o arquivo estava faltando no diretório C:\Program Files (x86)\Windows Kits\8.0\Include\um em que deveria estar. O arquivo estava em vários outros locais para outros SDKs do Windows (8.1 e 10), mas não naquele usado pelo projeto.

Não sei por que estava faltando, mas descobri que não estava lá olhando para as propriedades do projeto C ++ relevante e vendo como foram avaliadas as opções de inclusão de diretórios herdadas, que acabou sendo o kit 8.0 pasta. Achei que estava lá porque vi o arquivo em outras pastas, mas não estava na pasta correta, provavelmente porque algo em algum lugar bagunçou os arquivos do SDK 8.0 para mim.

Espero que isso ajude alguém que está enfrentando o erro ou algo semelhante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top