2

我正在使用pelles c。当我编译这段代码时:

#include <windows.h>
#include <stdio.h>

void main(void)
{
   printf("Hello World");
}

我收到此错误:

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".

谢谢你的帮助。

4

3 回答 3

14

为了使用windows.hPellesC必须去:

  • 项目 -> 项目选项 -> 编译器
  • 检查:启用 Microsoft 扩展
于 2011-03-28T17:44:49.730 回答
0

您缺少一些#define其他编译器(例如 Visual Studio)总是定义的 s。它们提供有关处理器架构、操作系统版本、SDK 版本等的基本信息。

最好查看 Microsoft 文档,了解他们的编译器定义了哪些宏并执行相同操作。

这个页面可能是一个很好的起点。

于 2011-03-27T20:08:26.060 回答
-2
  1. 使用int main(void)而不是初始化你的程序void main(void)
  2. 您缺少return(0);最后一个括号之前的退货声明。您必须包含此内容,否则您将收到语法错误,因为您的程序不知道何时停止运行。

然后执行以下操作

  1. 从下拉菜单栏中选择Project然后向下滚动并选择“项目选项”。
  2. 选择Compiler选项卡并确保Calling conv:已选中该框_cdecl
  3. 单击linker选项卡并确保在subsystem框中将类型设置为Console

尝试再次构建它,看看会发生什么!

于 2013-02-28T04:47:28.323 回答