C图形库错误
我有以下代码:
#include #include #include #include void main() { int gd=DETECT,gm; int dx,dy,p,end; float x1,x2,y1,y2,x,y; initgraph(&gd,&gm,""); printf("\nEnter the value of x1: "); scanf("%f",&x1); printf("\nEnter the value of y1: "); scanf("%f",&y1); printf("\nEnter the value of x2: "); scanf("%f",&x2); printf("\nEnter the value of y2: "); scanf("%f",&y2); dx=abs(x1-x2); dy=abs(y2-y1); p=2*dy-dx; if(x1>x2) { x=x2; y=y2; end=x1; } else { x=x1; y=y1; end=x2; } putpixel(x,y,10); while(x<end) { x=x+1; if(p<0) { p=p+2*dy; } else { y=y+1; p=p+2*(dy-dx); } putpixel(x,y,10); } getch(); closegraph(); }
该代码主要用于创建一条线。 但是当我运行这个程序时,我在控制台中收到错误消息(我使用的是Ubuntu 10.04版本):
test.c:2: fatal error: conio.h: No such file or directory compilation terminated. test.c:2: fatal error: graphics.h: No such file or directory compilation terminated.
这是否意味着我必须在C路径中添加一些lib?
提前致谢。
conio.h
和graphics.h
是我认为来自Borland环境的古老的非标准接口。
这两个标题仅限Windows。 对于getch()
您可以模拟它(参见此处 ),对于graphics.h
您可以安装libgraph 。
对于Ubuntu用户来说,错误就是我们没有那个库。 所以我们包括一个相应的库。 在终端中键入以下命令:
sudo apt-get install libncurses5-dev libncursesw5-dev
更改
dx=abs(x1-x2);
这样:
dx=abs(x2-x1);
尝试使用OPENGL
并删除包括conio.h
, graphics.h
, getch()
, closegraph()
在内的行。 这些由Turbo C DOS编译器使用并且已过时。