如何解决无法正常运行图形C程序的代码块

时间:2019-04-20 07:22:28

标签: c winapi

我有用于图形编程的设置代码块。就像我安装winbgim文件一样。并在代码块链接器设置中完成了其他设置。但是当我运行这样的程序

#include<graphics.h>
#include<stdio.h>
#include<conio.h>

 main(void) {
    int gdriver = DETECT, gmode;
    int x1 = 200, y1 = 200;
    int x2 = 300, y2 = 300;
    system("cls");

    initgraph(&gdriver, &gmode, "");
    line(x1, y1, x2, y2);
    getch();
    closegraph();
}

它没有按我预期的方式运行。该进程由0xc0000005返回。而且winbgi窗口也没有打开。所以请帮我解决这个问题

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。您是否从其website下载WinBGIm库?

如果是,则头文件graphics.hwinbgim.h都有错误。在每个文件的第302行中,将right = 0替换为top = 0

但是,问题在于库本身是使用“ buggy”头文件构建的,所以:

  • 您需要自己从源代码构建库,或者
  • 您需要下载已由面临此问题的其他人构建的更正的库。幸运的是,我找到了一个here库(步骤2中的链接)。

因此,现在,如果将更正后的文件(头文件和库文件)放在目标文件夹中并重新生成,则程序应该不会崩溃。

答案 1 :(得分:-2)

下载WinBGIm。单击下载。从其他网站下载可能无法正常工作。

提取它。

打开info.txt可获得链接器选项和更多信息。

MinGW文件夹复制到您的Code::Blocks安装目录中。默认的Code::Blocks安装目录为C:\Program Files (x86)\CodeBlocks。已经有MinGW个文件夹。复制新的MinGW文件夹只会在该目录中添加一些库(libbgi.a)和头文件(winbgim.hgraphics.h)文件。要手动添加文件,请将graphics.hwinbgim.h文件复制到编译器目录的C:\Program Files (x86)\CodeBlocks\MinGW的include文件夹中。并将libbgi.a复制到编译器目录的lib文件夹中。

打开Code::Blocks。打开Settings >> Compiler >> Linker Settings。单击链接库部分中的“添加”按钮,然后浏览并选择刚刚复制到libbgi.a文件夹中的MinGW文件。

在右侧部分(即其他链接器选项)粘贴命令–lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

单击确定。