(1)下载codeblocks,最好是带mingw的版本,不然则要自己配置mingw;
(2)下载GLUT bin文件,最好在OpenGL官网上下载最新版本,解压.
将glut32.dll复制到C:\windows\system目录;
将glut32.lib复制到mingw\lib目录;
将glut.h复制到mingw\include\GL目录;
mingw为你的mingw目录,如果是codeblocks自带的,则在codeblocks安装目录下;
(3)新建一个空工程 empty project;
(4)配置工程,右键单击新建的工程,打开Build Options->Linker Settings,在Link libraries中添加MinGW\lib\glut32.lib,MinGW\lib\libopengl32.a,MinGW\lib\libglu32.a,点击OK;
(5)在工程中新建test.c测试文件,代码如下:
#include <GL/gl.h>
#include <GL/glut.h>
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(400, 400);
glutCreateWindow("第一个opengl程序");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return 0;
}
(5)遇到的问题,如下
即 某文件 undefined reference to '__某OpenGL函数名'
解决如下:
在包含OpenGL的include
预编译指令前
增加 #define _STDCALL_SUPPORTED 就成功了,也许别人的还不行,为了保险,你可以写上:
- #define _STDCALL_SUPPORTED
- #define _M_IX86
- #define GLUT_DISABLE_ATEXIT_HACK
- #define GLUT_NO_WARNING_DISABLE
(6)编译运行程序,效果如下:
参考博文:https://blog.youkuaiyun.com/sunny_xsc1994/article/details/44300771
https://blog.youkuaiyun.com/sophiale07/article/details/44965875