在Visual C++ 2010中,"无法打开包含文件"错误是什么意思?

0 c++ windows winapi header-files visual-c++

你能帮我解决下面的错误:

致命错误C1083:无法打开包含文件:'graphics.h':没有这样的文件或目录

#include<dos.h>
#include<graphics.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
union REGS in,o;

circ()
{
    int i;
    for(i=0;i<15;i++)
        circle(320,240,i*10);
    rectangle(240,160,400,320);
}

bulb()
{
    int i=1,c=1;
    randomize();
    while(!kbhit())
    {
        if((i%2)==0)
            setcolor(c++);
        setfillstyle(1,getcolor());
        circle(320,240,i*20);
        putpixel(320-i+2,240-i+2,1);
        floodfill(320-i+2,240-i+2,getcolor());
        delay(1000);
        i++;
        if(i>=5)
            i=1;
    }
}

dot()
{
    int i,j,of=40,wid=5;
    setcolor(8);
    setfillstyle(1,getcolor());
    for(i=of;i<getmaxx();i+=of)
        bar(i,0,i+wid,getmaxy());

    for(i=of;i<getmaxy();i+=of)
        bar(0,i,getmaxx(),i+wid);

    for(i=of;i<getmaxx();i+=of)
        for(j=of;j<getmaxy();j+=of)
        {
            setcolor(15);
            setfillstyle(1,getcolor());
            circle(i+2,j+2,4);
            floodfill(i+2,j+2,getcolor());
        }

}

void main()
{
    int x=0,y=10,gd=DETECT,gm,i;
    initgraph(&gd,&gm,"c:\tc\bgi");
    setcolor(YELLOW);
    settextstyle(1,0,6);
    outtextxy(0,240,"Count the black dots.....");
    sleep(4);
    cleardevice();
    dot();
    getch();
    cleardevice();
    setcolor(YELLOW);
    settextstyle(1,0,4);
    outtextxy(0,240,"I bet the lines of rectangle are straight.....");
    sleep(4);
    getch();
    cleardevice();
    circ();
    getch();
    closegraph();
}
Run Code Online (Sandbox Code Playgroud)

Cod*_*ray 6

您正在尝试编译包含头文件的代码graphics.h,但您的编译器无法找到该文件.有几个可能的原因,为什么不:

  1. include您在代码文件顶部写的指令可能不正确.有两种语法形式,您需要确保使用正确的形式,以便预处理器在正确的位置进行搜索.有关完整的故障,请查看文档.

  2. 您可能没有安装Windows SDK,其中包括从Win32 API调用函数所需的头文件.您可以在此处下载最新版本的SDK .

  3. 我不知道你在哪里得到这个代码,但graphics.h我唯一知道的是Borland Turbo C/C++编译器的一个非常古老的图形库.它适用于16位MS-DOS应用程序,而不是现代Windows程序.这不是标准的Windows标头.您需要使用windows.h所有图形功能.

编辑:我看到你发布了你的代码.不幸的是,你也不会有很多运气dos.h.具体参考我上面的第三个建议.我不知道你在哪里得到这段代码,但是你无法在Visual C++上编译它."Visual"部分意味着您正在创建Windows应用程序.您正在使用的代码包括在MS-DOS(基于文本的Windows的前身)下运行的Borland Turbo C/C++编译器版本中包含的专有头文件.您需要找到一些更新的代码或使用(更多)旧的编译器.

如果你绝对需要编译该代码,看起来你可以在这里下载Borland Turbo C++ 3.0的古老版本.我认为这是放弃软件,但你是独立的.我很久以前就没有编程.