zoukankan      html  css  js  c++  java
  • VS2017-OPENGL配置glfw+glad

    VS2017-OPENGL配置glfw+glad

    https://jveilcoo.github.io/XQ.github.io/categories/ 观看更清晰
    之前配置的是glfw+glew,可是glad是目前比较新的,比glew更好用,所以这次配置一下glfw+glad的开发环境。(注:必须下载32位的哦)


    首先要去下载 glfwglad,直接去官网下载就好了,glfw我们选择3.3版本的,glad下载的时候需要自己根据需求来选择,按照下图选择即可:

    选择完后往下翻点击generate生成下载链接,下载该zip就行了。放在自己熟悉的文件夹哦。


    然后打开VS,新建一个空项目,右键项目,点击属性->C/C++->附加包含目录,根据图片编辑附加包含目录:


    在上面的界面选择文件,打开之前下载的glfw文件夹,添加路径...glfw-3.3.2.bin.WIN32include
    然后我们再添加glad的路径,同样...gladinclude


    然后点击C/C++下面的链接器,点开常规,配置附加库目录:

    ...glfw-3.3.2.bin.WIN32lib-vc2017添加进去即可。

    最后点击链接器,点开输入:

    然后输入:
    opengl32.lib
    glfw3.lib
    

    点击确定后,打开存放glad的文件夹,找到src目录,复制里面的glad.c,将其放到该项目的源文件夹就全部完成了。


    下面来验证一下是否能够使用glfw+glad创建一个窗口

    #define GLEW_STATIC
    #include <glad/glad.h>
    #include <GLFW/glfw3.h>
    #include <iostream>
    
    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)
    	{
    		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;
    	}
    
    	while (!glfwWindowShouldClose(window))
    	{
    
    		glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
    		glClear(GL_COLOR_BUFFER_BIT);
    
    		glfwSwapBuffers(window);
    		glfwPollEvents();
    	}
    
    	glfwTerminate();
    	return 0;
    }
    

    如果创建成功,则证明环境配置完成,如果遇到了

    无法解析的外部符号 _glfwInit,该符号在函数 _main 中被引用
    

    这类报错,则证明glfw配置过程中出错,建议仔细检查。

  • 相关阅读:
    507. Perfect Number(LeetCode)
    1. Two Sum(LeetCode)
    9. Palindrome Number(LeetCode)
    141. Linked List Cycle(LeetCode)
    [leetcode] 82. Remove Duplicates from Sorted List II
    [leetcode] 81. Search in Rotated Sorted Array II
    [leetcode] 78. Subsets
    [leetcode] 49. Group Anagrams
    BETA先验概率密度曲线的绘制
    VC常见问题处理方法
  • 原文地址:https://www.cnblogs.com/xiangqi/p/14608091.html
Copyright © 2011-2022 走看看