Glad.H给出了OpenGL标头的错误

  • 本文关键字:错误 OpenGL Glad c++
  • 更新时间 :
  • 英文 :


我正在尝试将Glad.H与我的代码一起使用。我正在Visual Studio 2013上进行编程。由于某些原因,它给了我错误C1189: #error : OpenGL header already included, remove this include, glad already provides it
有人可以帮我吗?

这些是我包括的标题: -

#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>

我刚刚逆转了 glfw3.hglad.h的包含顺序,如下:

#include <gladglad.h>
#include <GLFWglfw3.h>

使用glfw,将glfw_include_none添加到properties-> c/c -> preprocessor-> preprocessor->预处理程序定义已修复此

来自https://www.glfw.org/docs/3.3/build_guide.html#glffw_include_none

如果您使用的是OpenGL扩展加载库(例如Glad(,则应在GLFW ONE之前包括扩展装载器标头。GLFW试图检测其之前包含的任何OpenGL或OpenGL ES标头或扩展装载机标头,然后将禁用默认OpenGL标头的包含。大多数扩展装载机还定义了在其下方禁用类似标头的宏。

#include <glad/gl.h>
#include <GLFW/glfw3.h>

这两种机制都取决于定义已知宏的扩展装载器头。如果您不知道您的用户会选择哪一个,则GLFW_INCLUDE_NONE宏将明确地防止GLFW标头包括OpenGL标头。这也将使您以任何顺序包括两个标题。

#define GLFW_INCLUDE_NONE
#include <GLFW/glfw3.h>
#include <glad/gl.h>

最新更新