如何在CodeBlocks中使用graphics.h?

12

我最近开始学习C++图形技术。

我在CodeBlocks中的程序中尝试使用#include <graphics.h>,但它显示错误。然后我从一个网站下载了graphics.h头文件,并将其粘贴到CodeBlocks中的include文件夹中,但它仍然显示graphics.h:No such file or directory错误。

有人可以教我如何在CodeBlocks中使用graphics.h吗?


6
这是旧版Borland编译器中的标题,仅用于MS-Dos应用程序中的图形。距离现在已经过去至少7个操作系统、16位元、20年和不计其数的编译器版本,你已经无法使用它了。 - Hans Passant
关于“有人能教我如何在CodeBlocks中使用图形吗?”:答案不在CodeBlocks中(它是一个IDE,不是编译器!),而在于你的目标操作系统。如果是Windows:使用Windows API。如果是DOS:查看你正在使用的编译器附带的文档。 - Jongware
2
@Jongware 我和Jefree的处境非常相似。我是C语言的新手,在写了几个基本程序之后,我找到了一段代码(http://www.programmingcampus.com/2013/01/circle.html),可以画一个圆形。太酷了!而且它非常简单——只有五行代码。这就是旧版graphics.h的威力所在——它的简单性。现在有人建议我学习OpenGL。:-( - Jeyekomon
@Jeyekomon 先生,您刚才表达了我完全相同的想法。谢谢。 - Quirk
6个回答

12
  1. 首先从http://winbgim.codecutter.org/下载WinBGIm。然后将其解压。
  2. graphics.hwinbgim.h文件复制到编译器目录的include文件夹中。
  3. libbgi.a文件复制到编译器目录的lib文件夹中。
  4. 在code::blocks中打开“设置”>>“编译器和调试器”>>“链接器设置”,在链接库部分点击添加按钮,浏览并选择libbgi.a文件。
  5. 在右侧部分(即其他链接器选项)粘贴以下命令:-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
  6. 点击OK。

如需详细信息,请访问此链接


2
谢谢,我按照您说的做了。但是当我运行程序时,出现一个窗口显示程序已停止工作。我该怎么办?您能帮我吗? - Jefree Sujit
2
我无法找出实际的问题。你使用了getch()函数吗?如果设置了winbgim,它将无法工作。 - Dinesh Subedi
图书馆在第302行出现了一个int变量的重复声明问题...请做必要的处理... - Shreyan Mehta
它与 @Aditya Ankur 的答案一起工作。 int left=0, int top=0, int right=INT_MAX, int bottom=INT_MAX, 下面是 Aditya Ankur 的答案。 - user6648166
1
一个窗口弹出来说程序停止工作了。我该怎么办?你能帮我吗?我猜这意味着您的编译器对于下载包中的2005二进制文件来说太新了。这个存储库有一个更新的端口尝试修复这个问题:https://github.com/Duthomhas/WinBGIm-fixed-sort-of-。 - drescherjm
另一个可能性是SDL-BGI,BGI库的移植版,运行在SDL之上 - user4581301

3
您不仅需要头文件,还需要与之相对应的库。无论如何,include文件夹不会自动加载,您必须配置项目来实现此功能。右键单击它:生成选项 > 搜索目录 > 添加。选择您的include文件夹,并保持路径相对位置不变。 编辑:如需进一步帮助,请提供关于您正在尝试加载的库的详细信息(该库提供了graphics.h文件)。

2
但请注意,“与之相配的库”需要与您正在使用的编译器兼容。 - Jongware

3

3

在 C/C++ 中,使用 Turbo C 进行图形处理是一种传统。但这也是一件非常麻烦的事情。我们使用 Code::Blocks IDE,可以简化我们的工作。

在 CodeBlocks 中运行图形代码的步骤如下:

  1. 安装 Code::Blocks
  2. 下载所需的头文件
  3. 包含 graphics.h 和 winbgim.h
  4. 包含 libbgi.a
  5. 在链接器设置中添加链接库
  6. 包含 graphics.h 并将代码保存为 cpp 扩展名

要测试此设置,请复制并粘贴以下代码进行运行:

#include <graphics.h>
int main( )
{
    initwindow(400, 300, "First Sample");
    circle(100, 50, 40);
    while (!kbhit( ))
    {
        delay(200);
    }
    return 0;
}

这是Code::Blocks的完整设置说明:

如何在CodeBlocks中包含graphics.h?


2
  • 使用Sublime Text编辑器或Notepad++打开graphics.h文件,该文件位于安装Codeblocks时的include文件夹中。
  • 转到第302行。
  • 删除该行并在该行中粘贴int left=0, int top=0, int right=INT_MAX, int bottom=INT_MAX,
  • 保存文件并开始编码。

2
据我所知,在DOS时代,Borland Turbo C++套件中附带了一个名为graphics.h的头文件。如果这是真的,那么你就倒霉了,因为现在我们已经进入了Windows时代。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接