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配置过程中出错,建议仔细检查。

  • 相关阅读:
    反转链表 16
    CodeForces 701A Cards
    hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)
    hdu 1241 Oil Deposits(水一发,自我的DFS)
    CodeForces 703B(容斥定理)
    poj 1067 取石子游戏(威佐夫博奕(Wythoff Game))
    ACM 马拦过河卒(动态规划)
    hdu 1005 Number Sequence
    51nod 1170 1770 数数字(数学技巧)
    hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)
  • 原文地址:https://www.cnblogs.com/xiangqi/p/14608091.html
Copyright © 2011-2022 走看看