OpenGl学习之GLFW和GLAD环境配置(仅IDE为VS情况下)

mac2022-06-30  19

最近准备学习一下openGL,在配置环境的时候,对着别人的教程搞了好一会才搞好,感觉别人教的都是针对要自己编译的情况,我直接下载了不需要自己编译的版本,我就记录一下自己的情况。

一、官网下载GLFW,官网地址(https://www.glfw.org/download.html) 下载GLAD,地址(https://glad.dav1d.de)

1.GLFW下载

根据自己的操作系统选择,我是windows,所以我选择了64位版本。(这里有一个我遇到的小坑,因为参考一些教程有建议下32位的,所以第一次我下载了32位的,但是vs中debug是64位的,就出现了“无法解析的外部符号”的bug。虽然尝试把debug改成win32位的,但是代码又开始报错,所以我改下载64位的,解决了这个问题。)

2.GLAD下载 GLAD确保下面画圈四项中的选择和下图一致。 然后下拉,确保Generate a loader勾选,点击右下角GENERATE。 下载glad.zip。 二、文件整理 创建一个文件夹,命名“opengl”,在opengl文件夹中再创建两个文件夹,分别命名为“include”和“lib”。解压GLFW和GLAD压缩包。

1.include文件夹 把glad.zip中解压出来的include文件夹中的glad、KHR文件复制到我们自己创建的include文件夹中。 把glfw-3.3.bin.WIN64.zip中解压出来的include文件夹中的GLFW文件复制到我们自己创建的include文件夹中。 所以我们自己创建的include文件夹中有如下三个文件。

2.lib文件夹 在glfw-3.3.bin.WIN64.zip中解压出来的以下“lib-”为前缀的文件中选择与自己IDE合适的版本(我使用的vs为2019版本,所以我选择lib-vc2019)。 打开lib-vc2019文件夹,里面有三个文件(如下),把他们复制到我们自己创建的lib文件夹中。 所以我们自己创建的lib文件夹下有: 3.src文件夹 这个文件夹来源于glad.zip压缩包,我们把它直接放到opengl文件夹下。 所以我们的opengl文件夹下有以下三个文件:

三、进入vs开始配置 首先创建一个空白项,需要是c++的: 然后直接把opengl文件夹拖进解决方案中。

右键项目,点击属性,弹出的窗口如下,首先左边配置属性中选择VC++目录,我们需要修改的部分在右边红线画出的包含目录和库目录。 1、包含目录 点击包含目录,画圈部分最右边有一个下拉键,点击出现下拉框,点击编辑。 弹出包含目录窗口,点击横线部分,将opengl文件夹中的include文件的路径复制上去,(下图为复制完成)然后点击确定。 2、添加库目录 按照以上打开包含目录的方法打开库目录,将opengl文件夹中的lib文件的路径复制上去,然后点击确定。 3、添加依赖项 左边选择连接器,点选输入,我们需要添加右边附加依赖项,也是按照之前的方法打开。 手动输入红圈中的内容(你可以复制下面这两行): opengl32.lib glfw3.lib 然后点击确定。 添加完成后,记得点击右下角的应用,然后再点击确定。

4、检测配置 创建一个源文件,添加如下代码: 代码出处:https://blog.csdn.net/sigmarising/article/details/80470054

#include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream> using namespace std; 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); GLFWwindow *window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL); if (window == NULL) { cout << "Failed to create GLFW window" << 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://blog.csdn.net/sigmarising/article/details/80470054

最新回复(0)