很多同学不是很清楚OpenGL的配置,一个个帮忙配置也不是办法,干脆就写一篇教程好了。

本人使用的是Visual Studio 2015版本,对于Visual Studio 2012版本的配置会稍有不同,下面会提到。

准备工作:一台已经装有Visual Studio的电脑以及OpenGL源文件。

OpenGL源文件你可以上OpenGL官网下载,或者点击这里直接 下载glutdlls37beta.zip

准备工作完毕,现在就开始配置!

1、解压下载的OpenGL文件。

得到一个头文件glut.h

两个库文件glut.lib,glut32.lib

以及两个动态链接库文件glut.dll,glut32.dll

如下图:

2、把解压的5个文件放到正确的位置。

1.把头文件glut.h放到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\GL下。

(Visual Studio 2012版本是放在C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\GL下)

通常GL文件夹是不存在的,需要手动创建。

2.把库文件glut.lib,glut32.lib放到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib下。

(Visual Studio 2012版本是放在C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib下)

3.把动态链接库文件glut.dll,glut32.dll放到C:\Windows\SysWOW64下。

(这里不论哪个版本的VS都是一样的。只是如果你的系统是32位的话,就要把这两个文件放到C:\Windows\System32下)

4.配置完毕,很简单吧?

3、代码测试

1.打开Visual Studio,选择文件>新建>项目。

然后选中左侧的Visual C++,在右边选中Win32控制台应用程序。

然后给你的项目随便新建一个名称,我这里写的项目名称是OpenGLDemo。

你也可以给项目指定自己喜欢的存放目录,最后选择确定、完成。如下图:

2、找到源代码文件OpenGLDemo.cpp,将下面的代码拷贝进去,然后点击本地Windows调试器,即可看到运行效果。

代码如下:

 // OpenGLDemo.cpp : 定义控制台应用程序的入口点。
//仅用于测试,代码直接往上拷贝,只修改了个头文件
#include "stdafx.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(, );
glutInitWindowSize(, );
glutCreateWindow("第一个 OpenGL 程序");
glutDisplayFunc(&myDisplay);
glutMainLoop();
return ;
}

效果如下图:

运行截图如下:

最新文章

  1. 关于action和category的认知区别
  2. 用HttpWebRequest提交带验证码的网站
  3. sql server中除数为零的处理技巧
  4. 十五天精通WCF——第八天 对“绑定”的最后一点理解
  5. Hiredis 基本使用
  6. [原创]winform_PC宴会图片抽奖/文字抽奖
  7. java 字符串处理
  8. 为FaceBook审核提交模拟器包及自己验证模拟器包
  9. 你真的知道css三种存在样式(外联样式、内部样式、内联样式)的区别吗?
  10. 深入浅出js中的this(一)
  11. iOS之常用的判NULL的方法
  12. 安装jdk后出现bash: ./java: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
  13. 利用Jenkins自动部署工具间接构建kettle的调度平台
  14. POJ 1066 Treasure Hunt(相交线段&amp;amp;&amp;amp;更改)
  15. .netER的未来路,关于基础是否重要和应该自己手写代码吗?
  16. 什么是deferred对象
  17. TypeScript入门-高级类型
  18. PHP获取当前的毫秒值
  19. 二维码生成api
  20. Makefile常用函数总结

热门文章

  1. Codeforces Round #345 (Div. 1) A - Watchmen 容斥
  2. 模式匹配之Kmp算法
  3. ejs循环实例
  4. oracle 性能优化建议
  5. etcd,Docker问题汇总
  6. linux环境php将word转换成pdf
  7. pycharm的插件pylint报错:java.lang.Throwable: Write-unsafe context! Model changes are allowed from write-safe contexts only. Please ensure you&#39;re using invokeLater/invokeAndWait with a correct modality stat
  8. ubuntu下cmake自动化编译的一个例子
  9. scrapy爬虫框架实例一,爬取自己博客
  10. Windows安装和配置Tomcat