折腾了一早上,总算成功了,亲测有效,参考了很多博客,但是都不完整,现把解决方案分享如下:
WINDOWS配置:
确保你的WINDOWS/SYSTEM32文件下有如下文件:
glu32.dll, glut32.dll, glut.dll, opengl32.dll
如果是64位操作系统SysWOW64中加入glut32.dll(如果还不行就把上述文件都拷贝到SysWOW64中,本人在实际操作过程中只缺少glut32.dll),否则会报错.
DEV C++库的配置:
确保DEV C++安装目录下的Lib(不是lib32)文件中有如下文件l,ib文件夹正常是在MinGW64\x86_64-w64-mingw32目录下:
libglu32.a, libglut32.a, libglut.a, libopengl.a(如果已经有libopengl32.a也阔以)
其次确保inlude\GL文件中又如下头文件:
gl.h, glu.h, glut.h,
DEV C++文件工程的属性设置:
右键单击工程,弹出菜单,点击工程属性,然后再弹出的表格中选择参数项,右边的连接器中输入:
-lglut32
-lglu32
-lopengl32
-lwinmm
-lgdi32
最最最大的坑——如果你用的是64位编译器,要把编译器改为32位的,方法就是右键项目名——>projection options——>complier,然后选择32位的
以下程序供大家测试:
#define GLUT_DISABLE_ATEXIT_HACK
#include<windows.h>
#include<gl/gl.h>
#include<gl/glut.h>
void Initial(){
glClearColor(1.0f,1.0f,1.0f,1.0f);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(0.0,200.0,0.0,150.0);
}
void Display(){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f,0.0f,0.0f);
glRectf(50.0f,100.0f,150.0f,50.0f);
glFlush();
}
int main(int argc,char *argv[]){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400,300);
glutInitWindowPosition(100,120);
glutCreateWindow("矩形");
glutDisplayFunc(Display);
Initial();
glutMainLoop();
return 0;
}
运行结果为:
注意:一定要在头文件那里添加
不然会报错
openGL官网可以下载glutdll文件http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
最近开通了一个公众号,里面会分享一些机器学习,深度学习,推荐系统的学习笔记和相关知识,同时也会分享一些面经,感兴趣的小伙伴可以关注一下,十分感谢,比心