C图形库错误

时间:2011-09-29 14:02:26

标签: c graphics

我有以下代码:

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
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?

提前致谢。

5 个答案:

答案 0 :(得分:5)

conio.hgraphics.h是我认为来自Borland环境的古老的非标准接口。

答案 1 :(得分:4)

这两个标题仅限Windows。对于getch(),您可以模拟它(请参阅here),对于graphics.h,您可以安装libgraph

答案 2 :(得分:1)

对于Ubuntu用户来说,错误就是我们没有那个库。所以我们包括一个相应的库。在终端中键入以下命令:

sudo apt-get install libncurses5-dev libncursesw5-dev

答案 3 :(得分:0)

变化

dx=abs(x1-x2);

由此:

dx=abs(x2-x1);

答案 4 :(得分:-1)

尝试使用OPENGL并删除包含conio.hgraphics.hgetch()closegraph()的行。这些由Turbo C DOS编译器使用并且已经过时。