CLion项目集成graphics.h失败求助:多种尝试均无效
在CLion中集成graphics.h的可行方案
核心前提
graphics.h是Turbo C时代的老旧图形库,原生不支持MinGW环境,直接复制头文件或库文件到CLion内置MinGW/项目目录无法生效,必须使用适配MinGW的移植版本,推荐WinBGIm(专为MinGW适配的graphics.h移植版)或EasyX图形库(语法兼容且更易用)。
方案一:WinBGIm配置步骤
- 下载WinBGIm的MinGW适配包,解压后提取核心文件:
graphics.h、winbgim.h、libbgi.a。 - 项目文件结构调整:
- 在项目根目录新建
include文件夹,放入graphics.h和winbgim.h。 - 新建
lib文件夹,放入libbgi.a。
- 在项目根目录新建
- 修改
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) - 测试验证:
新建测试代码文件,写入以下内容并运行:
若弹出窗口显示圆形,说明配置成功。#include <graphics.h> int main() { initwindow(640, 480); circle(320, 240, 100); getch(); closegraph(); return 0; }
方案二:EasyX图形库(更简单的替代)
- 下载EasyX的MinGW版本安装包,安装时选择CLion使用的内置MinGW路径。
- 直接在代码中引入头文件:
#include <graphics.h>,无需额外修改CMake配置,编译运行即可。
常见问题排查
- 编译报
undefined reference错误:检查libbgi.a路径是否正确,CMake中link_directories和target_link_libraries的配置是否准确,链接库顺序不能乱(-lbgi需放在最前面)。 - 运行时窗口一闪而过:在
closegraph()前添加getch()或system("pause")阻塞程序。 - 头文件找不到:确认
include_directories指向的路径正确,头文件已放入对应文件夹。
内容的提问来源于stack exchange,提问作者mistelltein
相关产品推荐
相关产品推荐

