【发布时间】:2020-06-27 13:34:35
【问题描述】:
这是我的目录:
graphics/
glut.h
glut32.dll
glut32.lib
simple.c
这是我的程序:
#include <windows.h>
#include <GL/gl.h>
#include <GL/glext.h>
#include "glut.h"
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex2f(-0.5,-0.5);
glVertex2f(-0.5,0.5);
glVertex2f(0.5,0.5);
glVertex2f(0.5,-0.5);
glEnd();
glFlush();
return;
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutCreateWindow("simple");
glutDisplayFunc(display);
glutMainLoop();
}
当我尝试使用以下命令进行编译时
gcc simple.c -o MyProg glut32.lib -lopengl32 -lglu32
我收到以下错误:
C:\Users\Jake\AppData\Local\Temp\ccehzclV.o:simple.c:(.text+0x28): undefined reference to `__imp___glutInitWithExit'
C:\Users\Jake\AppData\Local\Temp\ccehzclV.o:simple.c:(.text+0x52): undefined reference to `__imp___glutCreateWindowWithExit'
C:\Users\Jake\AppData\Local\Temp\ccehzclV.o:simple.c:(.text+0x7b): undefined reference to `__imp___glutCreateMenuWithExit'
C:\Users\Jake\AppData\Local\Temp\ccehzclV.o:simple.c:(.text+0x162): undefined reference to `__imp_glutDisplayFunc'
C:\Users\Jake\AppData\Local\Temp\ccehzclV.o:simple.c:(.text+0x16b): undefined reference to `__imp_glutMainLoop'
collect2.exe: error: ld returned 1 exit status
我已经尝试了所有可以找到的答案,我已经重新安装了 MinGW,并且我已经重新安装了 tdm-gcc。没有任何效果,我希望有人能对此有所了解。
编辑:我还没有运气将 glut32.dll 添加到 system32。
【问题讨论】:
-
你能试试这个吗:
gcc simple.c -o MyProg -lglut32 -lglu32 -lopengl32 -lmingw32 -
@ssd 现在收到错误:
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lglut32 -
添加路径:
gcc simple.c -o MyProg -lc:\path\to\the\file\glut32 -lglu32 -lopengl32 -lmingw32。更正一点:一旦您编译干净,您可能需要将glut32.dll文件移动(或复制)到可执行路径(\Debug或\Release)中。 -
-lc:\path\to\the\file\glut32部分中的glut32是glut32.lib(不要在编译行中键入.lib扩展名)。但是,您需要复制到可执行文件文件夹路径中的文件是glut32.dll。 -
@ssd 似乎找不到路径:
gcc simple.c -o MyProg -l C:\Users\Jake\Desktop\graphics\glut32 -lglu32 -lopengl32 -lmingw32返回错误:C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lC:\Users\Jake\Desktop\graphics\glut32