Windows Visual Studio 下配置OpenGL
很多同学不是很清楚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 ;
}
效果如下图:

运行截图如下:

Windows Visual Studio 下配置OpenGL的更多相关文章
- Windows 7 Visual Studio 2008配置OpenGL开发环境
Windows 7 Visual Studio 2008配置OpenGL开发环境 glut下载地址: http://www.opengl.org/resources/libraries/glut/gl ...
- OpenCV(c++)-1 安装和配置OpenCV4.4(Windows+visual studio 2019)
@ 目录 安装OpenCV4 在Windows系统安装OpenCV4 配置visual studio 2019 配置包含路径 验证配置结果 安装OpenCV4 OpenCV是一个基于BSD许可(开源) ...
- Cocos开发中Visual Studio下HttpClient开发环境设置
Cocos2d-x 3.x将与网络通信相关的类集成到libNetwork类库工程中,这其中包括了HttpClient类.我们需要在Visual Studio解决方案中添加libNetwork类库工程. ...
- Cocos开发中Visual Studio下libcurl库开发环境设置
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...
- Visual Studio下SQLite数据库开发环境设置
由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置.具体而言我们有两种方式可以在Visual ...
- Visual Studio下Qt编程中对中文的处理
Visual Studio下Qt编程中对中文的处理 本文为原创文章,原文地址http://www.cnblogs.com/c4isr/p/qt_develop_in_vs.html Visual St ...
- visual studio 2010配置驱动开发环境
visual studio 2010 配置驱动开发环境 ** 工具/材料 VS2010.WDK开发包 ** 配置过程 以下将讲述VS2010驱动开发环境的配置过程,至于必要软件的安装过程这里不再赘述 ...
- Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建
我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...
- Cocos发育Visual Studio下一个HttpClient开发环境设置
Cocos2d-x 3.x相关类集成到网络通信libNetwork图书馆project于.这其中包括:HttpClient分类. 我们需要在Visual Studio溶液中加入libNetwork图书 ...
随机推荐
- 【点分治】Osipovsky Cup 2014 Kovrov, Sunday, December 21, 2014 Problem A. Attack and Defence
题意:给你一棵树,每个点有一个左括号或者右括号,问你树上能够完美匹配的路径数量(l->r,r->l 视作不同路径). 点分治可以使用“不扣去重复答案”的写法,只不过,要先将每个点的子树按照 ...
- python 多继承详解
class A(object): # A must be new-style class def __init__(self): print "enter A" print &qu ...
- php的json_encode()之后float类型丢失精度
在后台php中,金额保留两位小数.但是前端显示精度丢失,出现了14位小数的奇怪现象.本来以为是前端js解析之后出现的问题.检查之后发现json_encode()之后就出现了. 原始的值: array( ...
- ES6 标签模板
标签模板其实不是模板,而是函数调用的一种特殊形式."标签"指的是函数,紧跟在后面的模板字符串就是它的参数. var a = 5; var b = 10; tag `Hello ${ ...
- (小规模)b牌棋盘完美覆盖数
(小规模)b牌棋盘完美覆盖数 考虑一个普通的国际象棋棋盘,它被分成8*8(8行8列)的64个正方形.设有形状一样的多米诺骨牌,每张牌恰好覆盖棋盘上相邻的两个方格(即1*2的骨牌).那么能否把32个这样 ...
- mysql事务简单测试
Auth: jinDate: 20140507 一.事务控制默认情况下,MySQL是自动提交(autocommit)的,如果需要通过明确的commit和rollblack来提交和回滚事务,那么需要通过 ...
- FIS常用功能之资源合并
这节讲资源合并,实战目录如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- EasyUI datagrid 复选框可以多选但不能全选功能实现
1.功能需求: 实现多选,但是不能够全选功能 2.js代码 //帮卖列表页面,可以多选但是不能够全选实现 $(".datagrid-header-check").children ...
- [Eclipse插件] Eclipse设置Tab键为空格(ctrl+shirt+f格式化生效)!
自定义format格式,用空格替换Tab键,ctrl+shit+f格式化后生效: 设置Eclipse中按Tab键为4个空格,这里标记下! Window-->Preferences-->Ja ...
- 判断客户端是PC还是手持设备的JS代码【转】
1.第一种: 复制代码代码如下: function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = [&quo ...