使用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, 0, red); } }; DECLARE_MAIN(my_application);