上篇 已经介绍了如何配置OpenGL,但缺点是每次新建一个项目时,都应重新安装 “nupengl.core.redist” 与 “nupengl.core” 这两个文件,这在有网的情况下还是可以实现的,但不是一个长久之计。现在介绍另一种方法,用Glut库的一个开源替代品:Freeglut,它是由Pawel W. Olszta在1999年12月创建,最新版本为2015年3月的3.0版本。
1. FreeGlut的获取
以VS 2017为编程环境,在freeglut Windows Development Libraries上下载MSVC包,点击下载地址Download freeglut 3.0.0 for MSVC进行下载3.0版本,并解压缩。
2. FreeGlut的配置
(1)头文件
将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\include\GL”文件夹复制到VS 2017的安装目录“D:\VS2017\VC\Tools\MSVC\14.16.27023\include”下;
(2)库文件
将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\lib\freeglut.lib”文件复制到“D:\VS2017\VC\Tools\MSVC\14.16.27023\lib\x86”目录下;
将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\lib\x64\freeglut.lib”文件复制到“D:\VS2017\VC\Tools\MSVC\14.16.27023\lib\x64”目录下;
(3)DLL文件
64位Windows系统:
将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\freeglut.dll”文件复制到“C:\Windows\SysWOW64”目录下;
将freeglut\bin\x64\freeglut.dll文件复制到c:\Windows\System32目录下;
32位Windows系统:
将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\freeglut.dll”文件复制到“C:\Windows\System32”目录下;
以64位Windows系统为例:
3. 测试案例
#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;
}