Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.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
Linux中的C++图形程序_C++_C_Linux_Graphics_Compiler Errors - Fatal编程技术网

Linux中的C++图形程序

Linux中的C++图形程序,c++,c,linux,graphics,compiler-errors,C++,C,Linux,Graphics,Compiler Errors,我有一个C语言的程序: 如果我在我的Win7机器上使用DOSBOX并使用TurboC++并向我展示它在做什么,它就可以正常工作。但是,在没有DOSBOX或turboC++的Linux机器上,如何运行以下图形程序?PS:DISPLAY环境变量已设置为我的本地计算机的IP地址,以便在Linux box上显示GUI/图形,即如果我运行xclock,时钟将成功显示在我的计算机上 我知道TURBO C是一个Windows工具,使用Windows API 我不必使用graphics.h头文件,如果我能在Li

我有一个C语言的程序:

如果我在我的Win7机器上使用DOSBOX并使用TurboC++并向我展示它在做什么,它就可以正常工作。但是,在没有DOSBOX或turboC++的Linux机器上,如何运行以下图形程序?PS:DISPLAY环境变量已设置为我的本地计算机的IP地址,以便在Linux box上显示GUI/图形,即如果我运行xclock,时钟将成功显示在我的计算机上

我知道TURBO C是一个Windows工具,使用Windows API

我不必使用graphics.h头文件,如果我能在Linux机器上得到一个简单的C程序,当我编译时,它给我的输出与这个程序在Linux机器上的Windows机器上给我的输出相同,而不用我插入/使用DOSBOX或TurboC

/////////////////////////////////////////////////////////////////////////////////////////
//Diagram of a car
///////////////////////////////////////////////////////////////////////////////////////

#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
rectangle(100,200,200,250);
rectangle(220,200,320,250);
rectangle(90,190,330,290);

circle(150,290,30);
circle(270,290,30);

getch(); 
}
[koba@server1[洛里]$

[koba@server1lory]$cc g.c

g.c:2:21: error: graphics.h: No such file or directory
g.c: In function âmainâ:
g.c:5: error: âDETECTâ undeclared (first use in this function)
g.c:5: error: (Each undeclared identifier is reported only once
g.c:5: error: for each function it appears in.)
g.c:4: warning: return type of âmainâ is not âintâ

[koba@server1$/P>> P>图形.h是Turbo C++支持的库之一的头文件,因此专用于DOS。 如果您想在Linux中使用DOSBOX,请尝试将DOSBOX-0.74.tar.gz从其项目网站下载到您的Linux机器上,然后编译并运行它。

-幻灯片16/17/18显示了我在安装一些好东西后不安装DOSBOX所需的内容

这是PDF,如果有人需要,请点击另一个链接:或查看附件中的步骤。


如果幻灯片共享链接已损坏/消失,则此功能非常有用。感谢Tushar B Kute的在线贡献。

< P>图形.h头文件是一个非标准的头文件,仅适用于Borland Turbo C++中的DOS操作系统。此外,它使用BGIBorland图形接口在屏幕上渲染图形组件。 要在C语言中运行图形程序,可以使用DosBox for linux。 @Arun这里是一个C图形程序列表

如果你想在Linux下编译一个图形程序,首先你必须假设你在某个图形环境中工作,如X11R6或Xorg或Wayland等。这些是图形服务器,在你的显示器上执行所有与图形相关的操作。您知道,如果您使用的是windows,则会安装其中一个窗口管理器,如gnome、kde/plasma、xfce、fluxbox和许多其他窗口管理器。无论如何,如果您使用的是与窗口相关的系统,您可以在其中打开新窗口,那么我假设您可以通过简单调用X-windows api之类的东西来编写一个使用纯图形系统的程序,这是由X11.h等Xlib库提供的。这些LIB应该安装在大多数系统上,因为在正常使用情况下不需要它们。此外,您还必须安装gcc和其他构建工具,因此必须安装“something”。但X11是一个简单而不容易的解决方案!库,您可以使用它创建简单甚至更复杂的绘制矩形等的程序

然而,安装裸露的X11工具集和LIB似乎有点苛刻,实际上,使用更高级的工具将更好地满足您的需要,就像前面提到的SDL一样。您也可以尝试进入一个复杂的、与gui相关的工具/库的世界,比如Gtk或Qt世界,但它们对于绘制单个形状来说太过复杂了

如果您还没有学到很多东西,而且X11有时非常庞大、令人讨厌/复杂,就像Gtk和Qt一样,这迫使您按照他们的方式编程,那么您可以尝试一些原始绘图库,比如快速谷歌的gfx库:

我认为他们在世界上更像这样,你可以在谷歌上寻找一些尝试“c语言的简单图形库”的人,等等。祝你好运

另一个故事是,当您的Linux没有图形时,您只能看到文本控制台。然后,您必须使用称为帧缓冲区的东西,有时这需要相当复杂的设置,包括启用/编译特定的内核模块。这种方式可能不适合您,因为对系统的干扰甚至比您已经拥有图形gui时更大,并且您尝试只使用它们


还有一种情况是,您实际上在图形系统上,但您登录了另一个系统,该系统可能安装了图形,也可能未安装图形。因为您提到了DISPLAY变量,我怀疑您喜欢在另一台主机上运行程序,登录到某个图形工作站上。这也很复杂。SSH能够通过隧道传输X11服务器请求,但您的程序正在使用本地图形资源来显示其窗口。所以在某些情况下,我怀疑在没有图形库的remote上运行它在某种程度上是可能的。这里最简单的情况是,在两个系统上都有完整的图形工作站,但有时会有其他差异干扰图片或主窗口的显示,如其他DPI或分辨率、其他资源、窗口管理器加载的其他主题,等等。

编译器似乎很难找到graphics.hWell graphics.h?graphics.h是一个非标准头。看这个问题@iKiWiXz ye
sLinux机器上没有graphics.h。正如David提到的,这是不标准的,而且不适合作为旧款发货。但是,你能和我分享一个简单的图形C程序吗?我可以在Linux机器上运行这个程序,而不安装任何cruft。我建议使用平台无关的解决方案,如didierc提到的SDL。这样,您就不需要为不同的平台重写代码。如果你真的不能包含任何第三方库,你必须考虑使用你的操作系统的显示库来绘制东西,例如。。。画一个长方形。我同意,你好。我的主菜?我不想在Linux机器上安装DOSBOX或TurboC Linux兼容版本。我甚至不需要使用graphics.h头文件。你知道/写一个简单的Linux C程序吗?如果我在我的Linux机器上运行,它可以很好地运行,显示一个矩形/圆形,而不需要我下载/安装任何额外的软件/实用程序?换句话说,我可以在Linux中得到一个生成图形圆形或某些形状的示例C程序吗?而不是DOSBOX等,如果我必须安装额外的东西,我更喜欢这样:这取决于你最初的目的——在学校学习图形课程,或者开发一个在DOS上运行的应用程序?如果是前一个,请尝试其他环境,或者如果您喜欢DOS,请尝试:Linux+VirtualBox+DOS+TC。谢谢Konca,我找到了您。如果此链接失效,您能否包括幻灯片16、17、17中的相关详细信息,作为这个答案的一部分,是否可以只陈述相关信息,而不要求人们阅读一大堆幻灯片?
g.c:2:21: error: graphics.h: No such file or directory
g.c: In function âmainâ:
g.c:5: error: âDETECTâ undeclared (first use in this function)
g.c:5: error: (Each undeclared identifier is reported only once
g.c:5: error: for each function it appears in.)
g.c:4: warning: return type of âmainâ is not âintâ