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

Linux系统下使用gcc编译C语言文件出现大量报错如何解决?

问题根因

你的编译报错核心是Linux原生gcc调用了Windows平台专用的MinGW头文件,MinGW是面向Win32目标的工具链,完全不兼容Linux环境,因此触发大量类型、宏不匹配的错误。

解决步骤

  • 首先确认你的first.c真实内容,报错栈显示该文件第1行引入了Windows独有的conio.h头文件,你贴出的代码和实际文件内容不一致,执行如下命令查看真实内容:
    cat ~/Desktop/c/first.c
    
    如果存在#include <conio.h>行直接删除,Linux环境开发C程序不需要这个头文件。
  • 删除你误安装到系统公共头文件路径的MinGW相关Windows头文件,这些文件不属于Linux原生环境,删除不影响正常编译:
    sudo rm -rf /usr/local/include/*mingw* /usr/local/include/corecrt.h /usr/local/include/crtdefs.h /usr/local/include/conio.h
    
  • 重新执行编译命令即可正常生成可执行文件:
    gcc -o output first.c
    
    编译完成后执行./output即可运行程序。

额外说明

如果你是为了交叉编译Windows平台的程序才安装的MinGW相关文件,后续编译Windows目标程序时请直接使用专用的交叉编译器x86_64-w64-mingw32-gcc,不要使用系统默认的Linux原生gcc调用这些Windows头文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:15:03