环境
- windows 10
- visual studio 2015
- 安装好的CMAKE,在这里下载
构建GLFW
获得GLFW
- 首先,从GLFW官网上下载其源码包(sourse package)
- 解压文件夹
使用CMAKE构建GLFW的lib
首先,打开CMAKE GUI。
然后,在第一个输入栏(where is the source code)里选择你的GLFW解压后的文件,如图所示:
然后,在第二个输入栏(where to build the binaries)里选择一个你需要获得输出的文件夹,任意文件夹均可。我这里是新建了一个GLFW_OUT的文件夹,如图所示:
点击configure,等结束后,会出现很多红色的内容,再次点击configure使红色内容消失。
然后,点击generate,生成完毕后,点击Open project并且将编译后的结果将在VS2015中打开。
使用VS2015 build GLFW
在vs2015的build选项内点击build solution对我们的glfw进行build。
拷贝GLFW
建立文件夹
因为GLFW和之后的GLEW在我们每次的项目中都会使用,因此我们将其放到一个专门的文件夹内。
新建文件夹:在任意路径下新建OpenGL/libraries/includes(我们之后用@include代表该路径)来保存我们的库文件等。
新建文件夹:在相同路径下新建OpenGL/libraries/lib(我们之后用@lib代表该路径)作为我们放lib的文件夹。
如图所示:
拷贝
在@include下新建GLFW文件夹。
将之前下载并解压的glfw-3.2.1文件夹下的include中的所有文件复制到@include/GLFW/下。
在之前通过cmake生成的glfw_out下有文件夹src,在src下的DEBUG内有glfw3.lib文件,将其复制到@lib/下。
链接
将GLFW库链接进工程。
首先,我们在VS2015中新建一个空工程,命名为testGL2,右键单击工程名选择其properties:
选择VC++ Directories:
1. 在include directories内加入我们的@include文件夹。
2. libraries directories内加入我们的@lib文件夹。
如图所示:
然后,选择左侧的Linker内的input,选择Additional Dependencies,在其内写入glfw3.lib和opengl32.lib(其在Windows环境下已经包含在了Microsoft SDK内了,因此直接添加进链接器即可)。
然后,单击确定,我们GLFW的安装和配置就完成了。
构建GLEW
我们还需要构建GLEW。
获得GLEW
从这里下载GLEW的源码版本(Source)并解压。
并且,GLEW不需要通过CMAKE编译,只需要在vs2015下编译即可。
编译GLEW
在glew-2.0.0下的build文件夹下,选择你vs对应的版本的文件夹,我这里选择的是vs2012,进入文件夹内点击glew.sln在vs2015中打开。
打开后,在vs2015的build选项内,点击build solution即可。这样就在glew-2.0.0下的Lib的DEBUG下的win32内生成了:glew32d.exp
,glew32d.lib
,glew32sd.lib
这样三个文件,我们只需要glew32sd.lib
这个文件。
拷贝GLEW
将glew32sd.lib
这个文件拷贝到我们的@lib下。
将glew-2.0.0下的Include文件夹下的整个文件夹GL拷贝到我们的@include下。
链接
其中链接步骤和上面GLFW的链接步骤相同。
1. 因为我们之前已经在GLFW的链接步骤中,将@include路径加入了,所以这次什么都不用做。
2. @lib文件也在上一步加入了,所以也不用做。
3. 选择左侧的Linker内的input,选择Additional Dependencies,在其内写入glew32sd.lib
。
测试
经过以上步骤,我们的环境就算配置好了,现在测试环境是否配置成功。
在我们的工程源码文件夹下新建一个cpp文件,在其中写入如下内容:
// GLEW
#define GLEW_STATIC
#include <GL/glew.h>
// GLFW
#include <GLFW/glfw3.h>
int main()
{
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
return 0;
}
如果能够编译成功,到这里我们的环境就配置好啦。