使用 graphics.h 时未定义的引用?

新手上路,请多包涵

我正在尝试在 dev C++ 5.7.1 中使用 graphics.h。

我已经在互联网上搜索了可用的选项。我在 include 文件夹中下载了 graphics.h 库,并在参数选项中选择了以下内容:

 -lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32

我仍然无法弄清楚为什么它向我显示这些错误:

 undefined reference to `initgraph'
undefined reference to `graphresult'
undefined reference to `grapherrormsg'
undefined reference to `getmaxx'
undefined reference to `getmaxy'
undefined reference to `getmaxcolor'
undefined reference to `getcolor'
undefined reference to `circle'
undefined reference to `closegraph'
[Error] ld returned 1 exit status.

这是我的代码:

 #include<iostream>
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
//#include<conio>
int main(void)
{
       /* request auto detection */
       int gdriver = DETECT, gmode, errorcode;
       int midx, midy;
       int radius = 100;
       /* initialize graphics and local variables */
       initgraph(&gdriver, &gmode, "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\include\\winbgim");
       /* read result of initialization */
       errorcode = graphresult();
       if (errorcode != grOk)  /* an error occurred */
       {
           printf("Graphics error: %s\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   }
   midx = getmaxx() / 2;
   midy = getmaxy() / 2;
   setcolor(getmaxcolor());
   /* draw the circle */
   circle(midx, midy, radius);
   /* clean up */
   getch();
   closegraph();
   return 0;
}

原文由 Avni Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

将以下文件下载到提到的目录:

这里我假设你将 Dev-Cpp 安装到 C:\Dev-Cpp

http://www.cs.colorado.edu/~main/bgi/dev-c++/graphics.h 目录:> C:\Dev-Cpp\include http://www.cs.colorado.edu/~main/ bgi/dev-c++/libbgi.a 目录:> C:\Dev-Cpp\lib

创建一个新的 C++ 项目并将“Project Options->Parameters->Linker”设置为

-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32

并尝试执行此示例代码;然后去你上面发布的代码。

 #include<graphics.h>

int main( ){
        initwindow( 700 , 700 , "MY First Program");
        circle(200, 200, 150);
        getch();
        return 0;
}

原文由 Saravanabalagi Ramachandran 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题