做三维重建需要用到OpenGL,开始看《OpenGL超级宝典》,新手第一步配置环境就折腾了一天,记录下环境的配置过程。
《超级宝典》中的例子使用了GLEW,freeglut以及GLTools这三个库。
1.GLEW
The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
GLEW是一个跨平台的OpenGL的扩展库,支持多个操作系统。下载地址:http://glew.sourceforge.net/ 提供了已编译好的文件
解压后将得到的文件分别进行复制:
include文件夹下是头文件,将位于include文件夹下的GL文件夹复制到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include 下
lib文件夹下Release\Win32的文件复制到:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
bin文件夹下Release\Win32的文件复制到:C:\Windows\System32
GLEW就配置完成了
2.freeglut
FreeGLUT is a free-software/open-source alternative to the OpenGL Utility Toolkit (GLUT) library。
最新的稳定版是3.0,其下载地址:http://freeglut.sourceforge.net/ ,没有提供编译好的包,需要使用CMake自行编译。
CMake的配置
注意红圈的两个位置,第一个是生成的freeglut库文件所在的位置,其默认是在C(系统盘),由于访问C盘需要管理员权限,这里没有使用默认值。
第二个是生成Static Lib,勾了这个选项在Install的时候会出现一个错误,由于不生成这个Static Lib也没有多大影响,这里就取消了这个选项。配置好CMake选项后,Generate生成的visual studio2013的项目如下:
打开freeglut.sln
编译,生成的库文件在CMake配置的CMAKE_INSTALL_PREFIX下,有三个文件夹include、bin、lib,和GLEW类似,将其内容复制到相应的位置。
freeglu配置完成。
3.GLTools
GLTools的配置比较麻烦,主要是由于按照书中提供的网址(http://www.starstonesoftware.com/)下载不到源代码。幸好在GitHub上找到一个GLTools的Linux的版本(地址:https://github.com/HazimGazov/GLTools),使用其源代码编译生成GLTools库。
注意glew.c需要到GLEW的网站下其源代码得到,另外就是其include文件需要放到VC\include文件夹下,而且需要GLEW和freeglut都已配置完成。
在编译GLTools前需要更改其项目属性 > C/C++ > 预处理器右边的预处理器定义中添加 _CRT_SECURE_NO_WARNINGS
编译生成以后将Debug文件夹下的GLTools.lib复制到C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib下
4.最后
设置项目的依赖项
忽略特定依赖库
《超级宝典》的第一个例子: