为什么我的C ++图形程序未使用g ++编译器显示任何输出?

问题描述

我已经用C ++编写了代码,如下所示。该程序正在成功编译。但是,当我尝试运行.exe文件时,则没有得到所需的输出。

我的代码:

ConfuserEx

我在Windows命令提示符中使用以下命令来编译程序:

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

int main( )
{
    int gd = DETECT,gm;
    initgraph(&gd,&gm,(char*)"");
    setcolor(BLUE);
    line(100,100,200,200);
    getch();
    closegraph();
}

运行我的.exe文件: g++ -m32 -o trial trial.cpp -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 "C:\TDM-GCC-64\x86_64-w64-mingw32\lib\libbgi.a" 用于cmd,trial用于powershell。

但是在此之后我没有任何输出。为什么会这样?

enter image description here

解决方法

编辑::在指向-L库的路径之前,您缺少libbgi.a。此处提供更多详细信息:Directory Options


这些天来,实际上没有人使用graphics.h。正如其他人指出的那样,还有更好的选择。

但是在StackOverflow上有很多关于使用-1073741819 (0xC0000005)的错误代码WinBGIm的问题,但没有任何答案。因此,我想在这里发布一个。

此错误代码是在分段错误时生成的。造成这种情况的因素可能很多,但使用WinBGIm时,通常是由于库本身存在错误所致。

要使其正常工作,您必须从以下位置更改line 302graphics.h(从official source下载)中的winbgim.h

    int left=0,int right=0,int right=INT_MAX,int bottom=INT_MAX,

    int left=0,int top=0,

差异应该显得微不足道;以前有一个错字,因为有两个名为right的参数。


here提供了无错误的库和头。

实际上,我现在找到了类似的答案。将来的读者可以参考this

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...