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

如何在Windows的GCC编译器中为C语言添加<graphics.h>头文件

在Windows GCC环境下添加C语言图形功能的解决方案

方案一:用WinBGIm库兼容原graphics.h语法

graphics.h是Turbo C时代的老旧头文件,GCC默认不支持,WinBGIm是针对MinGW(Windows下的GCC环境)做的兼容实现,操作步骤如下:

  • 下载包含graphics.h、winbgim.h和libbgi.a的压缩包
  • 在PowerShell中执行命令,将头文件复制到MinGW的include目录(替换为你的MinGW实际安装路径):
    Copy-Item ".\graphics.h" "C:\MinGW\include"
    Copy-Item ".\winbgim.h" "C:\MinGW\include"
    
  • 再将静态库文件复制到MinGW的lib目录:
    Copy-Item ".\libbgi.a" "C:\MinGW\lib"
    
  • 编译C程序时,必须链接依赖的Windows系统库,比如编译test.c:
    gcc test.c -o test.exe -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
    
    注:-lbgi链接WinBGIm的库,后面的参数是Windows图形相关的系统依赖库,缺一不可。

方案二:使用SDL2库(现代跨平台图形方案)

如果不想局限于老旧的graphics.h语法,SDL2是更现代的C语言图形/多媒体库,Windows下适配GCC的步骤:

  • 下载MinGW版本的SDL2开发包,解压后得到include/SDL2文件夹和lib下的libSDL2.a、libSDL2main.a
  • 在PowerShell中复制头文件和库:
    Copy-Item -Recurse ".\SDL2" "C:\MinGW\include"
    Copy-Item ".\libSDL2.a" "C:\MinGW\lib"
    Copy-Item ".\libSDL2main.a" "C:\MinGW\lib"
    
  • 示例C代码(创建一个基础窗口):
    #include <SDL2/SDL.h>
    
    int main(int argc, char* argv[]) {
        SDL_Init(SDL_INIT_VIDEO);
        SDL_Window* win = SDL_CreateWindow("SDL2 C Graphics", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, 0);
        SDL_Delay(3000);
        SDL_DestroyWindow(win);
        SDL_Quit();
        return 0;
    }
    
  • 编译命令(PowerShell中执行):
    gcc test.c -o test.exe -lSDL2main -lSDL2
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:55:13