我有一个用于 Linux 的 mingw32 交叉编译器,它在 linux 上编译 windows 二进制文件。在我需要安装 glut 之前,一切都很顺利......我在 linux 中安装得很好,但是每当我尝试在 Windows 上编译相同的程序时,我可以将其归结为:
/tmp/ccQhHDhy.o:main.cpp:(.text+0xf): 未定义引用
__imp__glClear' /tmp/ccQhHDhy.o:main.cpp:(.text+0x1e): undefined reference to
_imp _glBegin ' /tmp/ccQhHDhy.o:main.cpp:(.text+0x3d): 未定义引用__imp__glVertex3f' /tmp/ccQhHDhy.o:main.cpp:(.text+0x5c): undefined reference to
_imp _glVertex3f ' /tmp/ccQhHDhy.o:main.cpp:(.text+0x7b): 未定义引用__imp__glVertex3f' /tmp/ccQhHDhy.o:main.cpp:(.text+0x85): undefined reference to
_ imp _glEnd'
通过直接与 dll 链接
收到这些链接器错误后,我尝试链接 opengl32 gdi32 winmm glut lib 文件和 glu32
但还是一样
继承人的源代码:
#include <stdlib.h>
#include <GL/glut.h>
using namespace std;
void render(void);
int main(int argc, char **argv){
glutInit(&argc, argv);
glutInitWindowPosition(-1,-1);
glutInitWindowSize(500,500);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("My First Glut Application");
glutDisplayFunc(render);
glutMainLoop();
return 0;
}
void render(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex3f(-0.5, -0.5, 0.0);
glVertex3f(0.5, 0.0, 0.0);
glVertex3f(0.0, .5, 0.0);
glEnd();
}