Em pelles c windows.h não compila
-
12-11-2019 - |
Pergunta
Eu estou usando pelles c.ao compilar este código:
#include <windows.h>
#include <stdio.h>
void main(void)
{
printf("Hello World");
}
Eu recebo este erro:
D:\Program Files\PellesC\Include\Win\basetsd.h(53): error #2001: Syntax error: expected ';' but found 'INT64'.
D:\Program Files\PellesC\Include\Win\basetsd.h(53): warning #2099: Missing type specifier; assuming 'int'.
D:\Program Files\PellesC\Include\Win\basetsd.h(57): error #2120: Redeclaration of '__int64', previously declared at D:\Program Files\PellesC\Include\Win\basetsd.h(53); expected 'int' but found 'unsigned int'.
D:\Program Files\PellesC\Include\Win\basetsd.h(57): error #2001: Syntax error: expected ';' but found 'UINT64'.
D:\Program Files\PellesC\Include\Win\basetsd.h(57): warning #2099: Missing type specifier; assuming 'int'.
D:\Program Files\PellesC\Include\Win\winnt.h(558): fatal error #1014: #error: "No target architecture".
obrigado por sua ajuda.
Solução
Em ordem para usar windows.h
no PellesC
você tem que ir para:
- Project -> Project Options -> Compiler
- Confira:Activar Extensões Do Microsoft
Outras dicas
Está faltando alguns #define
s que outros compiladores (por exemplo,O Visual Studio) definir sempre.Eles fornecem informações essenciais sobre a arquitetura do processador, a versão do sistema operacional, a versão do SDK etc.
Provavelmente o melhor é procurar a documentação da Microsoft sobre o que macros seu compilador define e fazer o mesmo.
Este página poderia ser um bom ponto de partida.
- Inicializar o programa usando
int main(void)
e nãovoid main(void)
- Você está perdendo sua instrução de retorno de
return(0);
pouco antes de seu último parêntese.Você deve incluir esta ou você vai obter um erro de sintaxe, porque o seu programa não sabe quando parar de correr.
Em seguida, faça o seguinte
- A partir do seu puxe para baixo a barra de menu escolha
Project
em seguida, role para baixo e selecione `Opções de Projeto. - Selecione o
Compiler
guia e certifique-se de que oCalling conv:
a caixa tem_cdecl
selecionado. - Clique no
linker
guia e certifique-se de que nosubsystem
caixa o tipo está definido paraConsole
.
Tente criar novamente e ver o que acontece!
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow