我正在尝试将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>发布于 2019-12-04 14:40:19
我刚刚颠倒了glfw3.h和glad.h的包含顺序,如下所示:
#include <glad\glad.h>
#include <GLFW\glfw3.h>发布于 2017-11-22 16:40:47
使用GLFW将GLFW_INCLUDE_NONE添加到属性->C/C++->预处理器->预处理器定义修复了这个问题
发布于 2021-12-06 02:22:36
来自https://www.glfw.org/docs/3.3/build_guide.html#GLFW_INCLUDE_NONE
如果你使用的是OpenGL扩展加载库,那么扩展加载器报头应该放在GLFW头之前。GLFW尝试检测之前包含的任何OpenGL或OpenGL ES报头或扩展加载器报头,然后禁用默认OpenGL报头的包含。大多数扩展加载器还定义了禁用其下类似标头的宏。
#include <glad/gl.h>
#include <GLFW/glfw3.h>这两种机制都依赖于定义已知宏的扩展加载器标头。如果您的GLFW头没有包含OpenGL头,或者您不知道用户会选择哪一个,GLFW宏将显式地阻止GLFW头包含GLFW头。这还允许您以任意顺序包含两个标头。
#define GLFW_INCLUDE_NONE
#include <GLFW/glfw3.h>
#include <glad/gl.h>https://stackoverflow.com/questions/44345811
复制相似问题