1.配置glfw
1.1下载glfw的zip包
创建一个文件夹用于管理各个依赖的文件夹,此处命名为OpenGL
glfw下载地址:Download | GLFW
![](https://i-blog.csdnimg.cn/blog_migrate/03ec33f52e879923b3f521676d3c8ee3.png)
下载后解压到创建的文件夹下
![](https://i-blog.csdnimg.cn/blog_migrate/3be63628e85d3d59604a19960023ee74.png)
在OpenGL文件夹下创建一个GLFW文件夹用于生成编译的文件
![](https://i-blog.csdnimg.cn/blog_migrate/bee10458d0583ec14d400df673247a24.png)
1.2编译glfw
1.2.1使用cmake工具:编译GLFW
cmake下载地址:Download | CMake
此处选择图形界面:
![](https://i-blog.csdnimg.cn/blog_migrate/531d2fc236dc87e7830ab37949b26f29.png)
编译GLFW
选择Source目录为gflw的解压路径
![](https://i-blog.csdnimg.cn/blog_migrate/284bc0122fc14fcd46de50626f180edf.png)
选择Build目录为刚刚创建的GLFW空目录
按照序号依次选择12345,第五步会打开VisualStudio,运行后关闭即可,会提示一个错误但是没影响
![](https://i-blog.csdnimg.cn/blog_migrate/46329a886c8da69d1515d025d7131767.png)
1.2.2将生成的GLFW/src/Debug/glfw3.lib复制到OpenGL/lib文件夹下(lib文件夹需要自己手动创建)
![](https://i-blog.csdnimg.cn/blog_migrate/5e9acd994dda3c4598e49e2d1cdca839.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6ec02d2acb7f75aa34bc6388ab7e4298.png)
1.2.3将OpenGL\glfw-3.3.6\include下的GLFW文件夹全部复制到
OpenGL\include文件夹下(include文件夹需要自己手动创建)
![](https://i-blog.csdnimg.cn/blog_migrate/79063052d867f07c74bf7add34c6775e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8dc8ad7ed8c66aa31dad3b64775ba03f.png)
2.配置glad
glad下载地址:https://glad.dav1d.de/
按照下图配置进行选择(gl选择最新版即可,profile一定要选择Core),
![](https://i-blog.csdnimg.cn/blog_migrate/ae78bc0cc98f1dedcb65eeae5199754f.png)
选择完成之后点击底部的GENERATE按钮
![](https://i-blog.csdnimg.cn/blog_migrate/bea0ec38ac3402418105e109344e2931.png)
在新出现的界面点击下载zip包
![](https://i-blog.csdnimg.cn/blog_migrate/f9e4c359524a65f0b3a55b2a4775d92f.png)
将zip包解压到到OpenGL文件夹下
![](https://i-blog.csdnimg.cn/blog_migrate/9960481a39851dde1e6e1eae4d3fff10.png)
将OpenGL/glad/include下的两个文件夹复制到OpenGL\include目录下
![](https://i-blog.csdnimg.cn/blog_migrate/2cf09b9087b1fd6b26e01994b7782c89.png)
![](https://i-blog.csdnimg.cn/blog_migrate/496c9f6577045f1a60c77eb6070e5a52.png)
3.配置VisualStudio
创建一个空项目,此处起名为HelloWorldHI
选择:Project-->Property
3.1配置VC++ Directories
Include Directories选择:OpenGL\include的路径
![](https://i-blog.csdnimg.cn/blog_migrate/da8f932af58a2f1935ab1bcb64539dcc.png)
LIbrary Directories选择OpenGL\lib的路径
![](https://i-blog.csdnimg.cn/blog_migrate/f1a717bfaf935141776ce99665c650b6.png)
3.2配置Linker
Input-->Additional Dependencies写入lib文件夹下的库的名称
![](https://i-blog.csdnimg.cn/blog_migrate/6ed5119ef02b9a735f5467cf73d36ac6.png)
依次点击应用-->确定即可
3.3添加glad/src/glad.c
将glad/src/glad.c文件复制到HelloWorldHI的项目路径下
![](https://i-blog.csdnimg.cn/blog_migrate/f08c1fa7041edbebbe5829fb5e932209.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e5929143f41dcc4568e2aa75a307c3fd.png)
在VS中
HelloWorldHi项目下
Source Files右键-->Add-->Existing item
选择刚刚的glad.c点击添加
![](https://i-blog.csdnimg.cn/blog_migrate/4d5baefbf4fecc05bbe082451a2d6427.png)
4.测试配置结果
在main.cpp中添加以下内容进行测试
#include<glad/glad.h>
#include<GLFW/glfw3.h>
#include<iostream>
void framebuffer_size_callback(GLFWwindow* window, int width, int height);
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_OPENGL_FORWARD_COMPAT, GL_TRUE);
GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
if (window == NULL)
{
std::cout << "Failed to create GLFW window" << std::endl;
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{
std::cout << "Failed to initialize GLAD" << std::endl;
return -1;
}
glViewport(0, 0, 800, 600);
glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
while (!glfwWindowShouldClose(window))
{
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate();
return 0;
}
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
glViewport(0, 0, width, height);
}
运行后出现以下黑窗口说明配置成功
![](https://i-blog.csdnimg.cn/blog_migrate/a4c1fac044975d5b8308ed739c44027b.png)
参考资料: