André Guergolet

What shall we do now?

Erro C4430: missing type specifier – int assumed. [C++]

Postado por André Guergolet em 5 de janeiro de 5 de 2010

Trabalhei durante alguns anos com o VC++ 6.0 da Microsoft, em algumas aplicações estou tentando trabalhar com o C++ dentro do VS2008, estou criando um DLL para ser utilizada dentro de um outro aplicativo C#, mas apanhei um pouco com este erro que apareceu logo de cara.

Não tenho experiência suficiente para dizer que a linguagem (C++) melhorou com as novas versões do .NET, mas em relação a ferramenta de desenvolvimento, neste caso a IDE de desenvolvimento, é muito melhor que a antiga interface do VS6.0, pelo menos essa é minha opinião.

Já havia feito algumas bibliotecas de conversão de áudio no C++, mas desta vez, bati um pouco de cabeça com o erro C4430, resolvi postar no meu site, porque não é a primeira vez que isso acontece comigo, esse mesmo erro, esta mesma dor de cabeça para no final descobrir que é algo simples, fruto de minha ignorância.

Eu criei o esqueleto do meu projeto e consegui compilar perfeitamente, fiz os principais includes que precisava:

  • windows.h
  • mmreg.h

Quando incluo o include do msacm.h a mensagem C4430 vem pra me assombrar, encontrando inúmeros erros dentro deste header file e distribuindo o C4430 por toda minha aplicação.

Segui as recomendações do site do MSDN e meu problema continuou:

“You can turn off this warning with the #pragma warning or /wd”

http://msdn.microsoft.com/pt-br/library/ms173696.aspx

 

Encontrei um POST no forum da Microsoft, com alguém com o mesmo problema que eu, mas não tinha resposta quando li.

Lendo meu próprio código, dentro do arquivo stdafx.h encontrei a seguinte linha:

#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers

Como já havia encontrado outros posts nos forums do MSDN em relação a diretivas para definição da versão do windows, tudo ficou mais claro, pois numa tradução livre e leiga: “Excluir coisas raramente usadas dos cabeçalhos de arquivos”

Com isso, uma série de tipos de dados, que são considerados “raramente utilizados”, são excluídos, causando este “Warning” que é tratado como um erro pelo VS2008.

Esse Post já faz parte da minha politica de escrever no meu site a solução de qualquer problema que demorou mais de 10 minutos para ser encontrada. Portanto, me desculpem se o texto não ficou bom ou não contém muitos detalhes, mas espero que ajude. Caso tenha alguma sugestão, crítica ou dúvida, por favor, envie uma mensagem através dos comentários.

Popularity: 22% [?]

Leave a Reply

Please leave these two fields as-is:

Protected by Invisible Defender. Showed 403 to 318 bad guys.

ROCK'N ROLL

TAG CLOUD

AMIGOS

About Me

Empresário na área de Desenvolvimento de Software e com uma memória muitas vezes fraca, por isso mantenho o site, para guardar o que posso esquecer.

Twitter

    Photos

    Concha

    Concha

    Concha