原文出处:https://blog.csdn.net/sixdaycoder/article/details/66975126
非常感谢SixDayCoder博主的很详细的配置步骤,少入很多坑。
此文目的是对博主的原文再加入详细点操作,也方便自己,所以做下笔记。
引子
OpenGL的GLUT库已经不再支持64位系统,但现今大多数新的的PC都是Win10 64位,而且网上配置教程太老了,这就使得配置开发环境颇费时间。在此记录下配置过程来供大家参考。
0.准备工作
1.Visual Studio 2015:建议选用Community版本
2.FreeGLUT源代码:很遗憾,没有提供给我们已经编译好的版本,所以我们需要用自己编译源码。现在比较稳定的是FreeGLUT3.0版本,可以在这里下载。
http://www.linuxfromscratch.org/blfs/view/svn/x/freeglut.html(官网)
点击Download(HTTP)即可下载,只有几百KB,应该不会下载失败的。。。。。(可留言博主,我可以邮过去哦)
3.CMake:编译源码的工具。我用的时候已经是3.8版本了,建议从官网下载
(博主版本3.18的)
1.下载CMake并编译FreeGLUT
从CMake官网,点进去找到Download,如图:
点击Download Lateset Release,进入网页
注意要选择自己所在平台,如果装过CMake且版本过低的话可以删除旧的版本。
用Windows平台我建议选择后缀为.msi的下载,安装比较方便。
装好后打开CMake如下:
where is the source code选择解压FreeGLUT后的目录。
例如我的是D:\OpenGL\freeglut\freeglut-code-1792-tags-FG_3_0_0,注意不要选择为D:\OpenGL\freeglut\freeglut-code-1792-tags-FG_3_0_0\src
where to build the binaries是即将生成的文件存放的路径,建议单独建一个文件夹存放。
选择完毕后显示如下:
Configure如下配置
点击FInish等待配置完成
回到主界面后点击Genreate:
选项默认的就可以,此时可以去到你设定的文件夹,找到:
freeglut.sln,默认使用VS2015打开。
此时分别选择Debug和Release模式生成解决方案。 (即在Debug和Release下各运行下)
(注意选择x64)
(运行过程会弹出ALL_BUILD报错,似乎没什么关系,有知道什么原因的大神,可以在评论下讨论谢谢)
2.配置FreeGLUT
这里以我的机器为例,记录配置FreeGLUT的过程。
将 D:\OpenGL\freeglut\freeglut-code-1792-tags-FG_3_0_0\include目录下的GL文件夹copy到VS2015的安装目录下的VC文件的include目录,例如我的是D:\visual studio 2015\VC\include
打开CMake生成目标文件夹的bin\Release\freeglut.dll和bin\Debug\freeglutd.dll移动到拷贝至C:\Windows\system32与C:\Windows\SysWOW64根目录下。(在Debug或Release下运行才会有bin文件夹,上面有提及)
打开CMake生成目标文件夹lib\Release\freeglut.lib、freeglut_static.lib和lib\Debug\freeglutd.lib、freeglut_staticd.lib并移动到D:\visual.studio2015\VC\lib\amd64目录下。(在Debug或Release下运行才会有lin文件夹,上面有提及)
3.测试
建立空C++项目后,测试简单的Demo
#include <GL\freeglut.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;
}
效果如下:
再次感谢SixDayCoder博主。