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.

Foi útil?

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 #defines 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.

  1. Inicializar o programa usando int main(void) e não void main(void)
  2. 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

  1. A partir do seu puxe para baixo a barra de menu escolha Project em seguida, role para baixo e selecione `Opções de Projeto.
  2. Selecione o Compiler guia e certifique-se de que o Calling conv: a caixa tem _cdecl selecionado.
  3. Clique no linker guia e certifique-se de que no subsystem caixa o tipo está definido para Console.

Tente criar novamente e ver o que acontece!

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