使用图形时未定义的引用.h.
Undefined references when using graphics.h?
我正在尝试在开发C++ 5.7.1 中使用 graphics.h。
我已经在互联网上搜索了可用的选项。我在包含文件夹中下载了 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: %sn", 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;
}
将以下文件下载到提到的目录:
在这里,我假设您安装了 Dev-CPP 以C:Dev-Cpp
http://www.cs.colorado.edu/~main/bgi/dev-c++/graphics.h 目录:>C:\Dev-Cpp\includehttp://www.cs.colorado.edu/~main/bgi/dev-c++/libbgi.a 目录:>C:\Dev-Cpp\lib
创建一个新的C++项目,并将"项目选项->参数->链接器"设置为
-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32
并尝试执行此示例代码;然后转到您上面发布的代码。
#include<graphics.h>
int main( ){
initwindow( 700 , 700 , "MY First Program");
circle(200, 200, 150);
getch();
return 0;
}
错误消息指示未定义该函数。 函数通常在源代码或库(静态或动态)中定义。 因此,您需要在项目中包含源代码,以便它与上面的代码一起链接,或者您需要链接到预编译库(可能是 .a、.lib 或 .dll 文件)。
我不太熟悉你正在使用的库;但是,我假设graphics.h包含函数声明,不包括函数定义。
这是
链接器错误。确保在"项目选项"->参数->链接器中编写的库名称以"-"开头。
-lbgi
-lgdi32
-lcomdlg32
-luuid
-loleaut32
-lole32
正如泽克上面所写。
相关文章:
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中