Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的C++;图形程序未显示任何带有g++;编译程序? 我已经写了C++代码,下面给出了。程序正在成功编译。但是,当我试图运行.exe文件时,我没有得到所需的输出_C++_G++_Bgi_Winbgi - Fatal编程技术网

为什么我的C++;图形程序未显示任何带有g++;编译程序? 我已经写了C++代码,下面给出了。程序正在成功编译。但是,当我试图运行.exe文件时,我没有得到所需的输出

为什么我的C++;图形程序未显示任何带有g++;编译程序? 我已经写了C++代码,下面给出了。程序正在成功编译。但是,当我试图运行.exe文件时,我没有得到所需的输出,c++,g++,bgi,winbgi,C++,G++,Bgi,Winbgi,我的代码: #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);

我的代码:

#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文件,请执行以下操作: 用于cmd的
试用版
,以及powershell中的
试用版

但在这之后,我没有得到任何输出。为什么会这样


编辑:在指向
libbgi.a
库的路径之前缺少
-L
。有关详情,请参阅:


现在几乎没有人使用
graphics.h
。正如其他人所指出的,还有更好的选择

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

此错误代码是在分段错误时生成的。可能有很多因素导致它,但是对于
WinBGIm
,它通常是由于库本身的错误造成的

要使其工作,您必须更改
graphics.h
winbgim.h
(从下载)的
第302行

int left=0,int right=0,int right=int_MAX,int bottom=int_MAX,

int left=0,int top=0,int right=int_MAX,int bottom=int_MAX,
差异应该看起来微不足道;前面有一个输入错误,因为有两个参数名为
right


无Bug的库和头是可用的


事实上,我现在也找到了类似的答案。未来的读者可能会参考。

start/wait-trial.exe
echo%errorlevel%
运行此命令会产生什么输出?它不是零吗?尝试添加
-lgraph
链接器指令。另外,不需要编写
(char*)”
,只需将其替换为
NULL
也应该这样做。我认为根本问题在于使用过时的图形库。虽然现代库的设置通常更复杂(但不是很多),但它们也更强大、更灵活,而且(最重要的是)更现代、更符合现代环境的要求。@brc dd我曾尝试将
-lgraph
添加到链接器指令中,但是,此错误正在发生
C:/TDM-GCC-64/bin/./lib/GCC/x86_64-w64-mingw32/5.1.0/../../../../../../x86_64-w64-mingw32/bin/ld.exe:找不到-lgraph collect2.exe:错误:ld返回了1个退出状态
@brc dd我也尝试了命令
start/wait trial.exe
echo%errorlevel%
,但没有输出。对于第一个命令,只有一个空白端子同时出现,然后消失。对于第二个命令,它返回1073741819,这是非零。您是否考虑过使用跨平台的图形库,如,或?别忘了启用所有警告和调试信息,所以用
g++-Wall-Wextra-g
编译我已经纠正了这个错误,在纠正这个错误之后,我只在这里发布了这个问题。所以我不认为这个错误是由于输入错误造成的,而且这段代码在代码块17.12中运行良好,因为我的一个朋友已经在IDE中成功地运行了这段代码。但我的目标是在没有IDE的情况下运行。我可以提供IDE在编译和运行期间生成的命令,正如我朋友提供的那样。@KalpadiptyaRoy您可以尝试使用此驱动器链接中的内容重新安装winbgim吗:确保您也复制库文件。@KalpadiptyaRoy指向
libbgi.a
的路径之前不应该有
-L
?是的
-L
是实际问题。我已经在
libbgi.a
路径之前添加了它,现在我的代码正在运行,我正在获得输出。非常感谢你。请编辑您的建议答案并进行相应修改。在那之后,我将打勾标记为正确。
g++ -m32 -o trial trial.cpp -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 "C:\TDM-GCC-64\x86_64-w64-mingw32\lib\libbgi.a"