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

CLion项目集成graphics.h失败求助:多种尝试均无效

在CLion中集成graphics.h的可行方案

核心前提

graphics.h是Turbo C时代的老旧图形库,原生不支持MinGW环境,直接复制头文件或库文件到CLion内置MinGW/项目目录无法生效,必须使用适配MinGW的移植版本,推荐WinBGIm(专为MinGW适配的graphics.h移植版)或EasyX图形库(语法兼容且更易用)。

方案一:WinBGIm配置步骤

  1. 下载WinBGIm的MinGW适配包,解压后提取核心文件:graphics.h、winbgim.h、libbgi.a。
  2. 项目文件结构调整:
    • 在项目根目录新建include文件夹,放入graphics.h和winbgim.h。
    • 新建lib文件夹,放入libbgi.a。
  3. 修改CMakeLists.txt:
    添加以下配置(替换YourProjectName为实际项目名称):
    include_directories(${PROJECT_SOURCE_DIR}/include)
    link_directories(${PROJECT_SOURCE_DIR}/lib)
    target_link_libraries(YourProjectName -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32)
    
  4. 测试验证:
    新建测试代码文件,写入以下内容并运行:
    #include <graphics.h>
    int main() {
        initwindow(640, 480);
        circle(320, 240, 100);
        getch();
        closegraph();
        return 0;
    }
    
    若弹出窗口显示圆形,说明配置成功。

方案二:EasyX图形库(更简单的替代)

  1. 下载EasyX的MinGW版本安装包,安装时选择CLion使用的内置MinGW路径。
  2. 直接在代码中引入头文件:#include <graphics.h>,无需额外修改CMake配置,编译运行即可。

常见问题排查

  • 编译报undefined reference错误:检查libbgi.a路径是否正确,CMake中link_directories和target_link_libraries的配置是否准确,链接库顺序不能乱(-lbgi需放在最前面)。
  • 运行时窗口一闪而过:在closegraph()前添加getch()或system("pause")阻塞程序。
  • 头文件找不到:确认include_directories指向的路径正确,头文件已放入对应文件夹。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 05:17:20