使用visual studio配置和运行《opengl圣经》的第一个案例
对vc++新手来说,想把opengl圣经里的教学案例运行起来还真不是一件容易的事情,而且并没有完整的操作流程教学,这里就总结一下吧:
先安装cmake,用于生成vs的工程文件,安装过程中选中“将目录添加到系统路径中”选项。
首先创建一个空目录(openglStuff),里面创建两个空文件夹(headers 和 libs)
GLFW
- 根据HOWTOBUILD.txt文档说明,该书籍(opengl super bible 7th)源码需要用到glfw,并且随源码提供了一个版本的glfw源码(/extern/glfw-3.0.4)
- 先使用cmake编译创建vs工程:在glfw根目录下打开命令行(不选择任何文件的情况下Shift+右键,“在此处打开命令行窗口"),输入“cmake . ”(注意后面有一个点),一小会过后就会生成vs的sln工程文件。
- 然后用vs打开上一步生成的sln工程,分别编译debug和release版本(在上方快捷菜单栏里的“解决方案配置”部分里可以手动切换,然后菜单"生成/生成解决方案"),会生成两个glfw3.lib文件。
- 根据文档,把/extern/glfw-3.0.4/src/Debug下的文件改名为glfw3_d.lib,然后把两个lib文件都拷贝到libs文件夹下。
- (也许,未证实是否必需)还需要下载glfw编译好的dll,放在windows/system32目录下,手动编译dll的方法参考: http://www.glfw.org/docs/latest/compile.html
sb7书籍相关文件
- 把源码中提供的/include/文件夹下的内容全部拷贝到headers目录
- 把源码中提供的/lib/文件夹下的sb7_d.lib文件拷贝到libs目录
Opengl32.lib文件
在windows中搜索opengl32.lib,找到合适的版本,拷贝到libs目录
工程设置
- 创建一个空的c++工程
- 在工程上右键,属性,进入“VC++目录”,编辑“包含目录”,添加headers目录,编辑“库目录”,添加libs目录
- 进入“C/C++>常规”,编辑“附加包含目录”,添加headers目录
- 进入“C/C++>预处理器”,编辑“预处理器定义”,添加“_CRT_SECURE_NO_WARNINGS”
- 进入“链接器>常规”,编辑“附加库目录”,添加libs目录
- 进入“链接器>输入”,编辑“附加依赖项”,添加libs目录下的所有lib文件全名
- 创建一个新的c++文件,添加第一个示例的内容,即可正常编译、运行,显示出一个红色的窗口
- 如果提示“fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory”,注释掉sb7.h文件中的"#include <unistd.h>"这一行即可(这是unix下用的,windows下不需要)
第一个示例内容如下:
#include "sb7.h" class my_application :public sb7::application
{
public:
void render(double currentTime)
{
static const GLfloat red[] = { 1.0f,0.0f,0.0f,1.0f };
glClearBufferfv(GL_COLOR, , red);
}
};
DECLARE_MAIN(my_application);
使用visual studio配置和运行《opengl圣经》的第一个案例的更多相关文章
- 在Visual Studio 2015中运行OPENGL
Starting an OpenGL project in VS 2015 is really easy, thanks to the NupenGL.Core nuget package. Here ...
- openGL学习:Visual Studio配置OpenGL
Visual Studio配置OpenGL 分两步: (一)下载glut,并将其放置到适当的位置 (二) 进行vs2005项目属性配置 ******************************** ...
- NUint使用详解及Visual Studio配置
NUint使用详解及Visual Studio配置 阅读目录 什么是单元测试? 为什么使用单元测试? NUint使用详解: 示例 属性 断言 简单测试 VS配置: External Tools Vis ...
- visual studio 配置OpenGL环境
首先在网上下载一个GLUT工具包. glut.zip,大约一百多kb. 解压之后得到这么几个文件: 将glut.h复制到C:\Program Files (x86)\Microsoft Visual ...
- Visual Studio配置C/C++-PostgreSQL(9.6.3)开发环境(ZT)
https://www.2cto.com/database/201707/658910.html 开发环境 Visual Studio 2017[15.2(26430.16)] PostgreSQL ...
- Visual Studio 继续并运行上次的成功生成,未提示直接运行上一个版本解决方案!
Visual Studio ==>工具 ==> 选项==>项目和解决方案 ==>生成并运行_运行时,当出现生成或部署错误时_选择,提示启动
- visual studio 配置属性中增加自定义宏和宏值
visual studio中有一些预先定义的宏,用于配置项目属性,如SolutionDir.我们也可以自定义类似的宏,从而在配置包含目录(include)或添加依赖项时简化配置项. 如何创建自己的宏呢 ...
- Visual studio 配置
解决方案 一个解决方案的文件结构: .sln 项目目录 debug release 其中,debug与release放置最终生成的dll或exe,项目目录下包含 头文 ...
- opencv3 学习一 - Visual Studio 配置
Step 1 下载最新版的Opencv3.4.2,见图片中的网址,选择 Win Pack. Step 2 安装Opencv3 到指定目录,见图片,路径后面会用到. Step 3 把安装目录下的bin路 ...
随机推荐
- 【Go语言】map在goroutine通信中的使用问题
简介 本篇文章的主要内容是解决go语言map在使用中遇到的两个问题,对于初学者是不可避免的坑 一.cannot assign to struct field 当map中存在struct类型的成员,如果 ...
- Python虚拟环境命令
cd D:\virtual\ virtualenv -p D\Python35\python.exe env1 cd env1 cd Scripts activate.bat # 激活该虚拟环境 de ...
- __init__ 和__new__的区别?
init 在对象创建后,对对象进行初始化. new 是在对象创建之前创建一个对象,并将该对象返回给 init.
- 通过编写串口助手工具学习MFC过程——(六)添加Edit编辑框控件
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- C# 各种加密
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...
- js验证小数或者整数
利用正则表达式校验是否为小数或者整数,废话不多说直接上demo(此正则表达式无法校验负数和数字为00开头的数字). PS:(如果有不对之处,请批评指教) <!DOCTYPE html> & ...
- CSS链接使用伪类的顺序
顺序为:link-visited-hover-active a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: #00FF00} /* 已访问 ...
- iOS手势操作,拖动,轻击,捏合,旋转,长按,自定义(http://www.cnblogs.com/huangjianwu/p/4675648.html)
1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureReco ...
- django基础篇03-阶段总结
1.django的生命周期: url -> 路由系统 -> 视图函数(获取模版 + 数据 =>渲染) -> 返回字符串 2.路由系统: /index/ ->函数或类.as ...
- alex说:一切皆bytes
一.ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示25 ...