You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用MinGW编译C代码时出现致命错误:sdkddkver.h 文件不存在该如何解决?

解决MinGW编译C代码时sdkddkver.h缺失的错误

问题背景

刚安装完成MinGW后,编写了以下C代码:

#include<stdio.h>
int main() {
    printf("Hello, world!");
    return 0;
}

编译时出现如下错误:

In file included from c:\mingw\include_mingw.h:73:0,
from c:\mingw\include\stdio.h:56,
from main.c:1:
c:\mingw\include\w32api.h:59:23: fatal error: sdkddkver.h: No such file or directory
#include <sdkddkver.h>
^
compilation terminated.

解决方案

别慌,这是MinGW环境里常见的Windows SDK头文件缺失问题,试试下面几种方法:

  • 更新/安装w32api组件:打开MinGW的包管理器(mingw-get),找到mingw32-w32api-dev这个包,勾选它并执行安装或更新操作。这个组件包含了编译Windows程序必需的核心头文件和库,sdkddkver.h就包含在其中,安装完成后应该就能正常编译了。

  • 手动补充头文件:如果包管理器的方法行不通,可以手动处理——找一个完整的sdkddkver.h文件(比如从其他完整的Windows SDK环境中复制,或者创建一个空的文件),把它放到MinGW的include目录下(也就是你的c:\mingw\include路径)。不过这种方法可能会带来后续兼容性问题,优先推荐第一种方法。

  • 切换到MinGW-w64:如果你用的是旧版MinGW,建议直接升级到MinGW-w64。它是MinGW的增强版,自带了更完整的Windows SDK支持,能从根源上避免这类头文件缺失的问题,同时还支持64位程序编译,功能更全面。

另外,编译时记得用正确的命令:gcc main.c -o main,生成可执行文件后就能正常运行啦。

内容的提问来源于stack exchange,提问作者Bhavik Khawale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 21:04:05