【问题标题】:gl.h included before glew.h?gl.h 包含在 glew.h 之前?
【发布时间】:2014-03-13 05:29:53
【问题描述】:

我一直收到此错误“错误 C1189:glew.h 之前包含的 gl.h”,尽管我的包含似乎是正确的顺序。

我还收到 9 条警告说“警告 C4005:'APIENTRY':宏重新定义”

我认为值得一提的是,在切换到 GLFW 3 之前我没有收到错误,之前我使用的是 GLFW 2。下面是我的“Core.h”顶部的包含。

//External Libraries

#include <GL/glew.h>
#define GLFW_INCLUDE_GLU
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>


//Default Libraries
#include <cassert>
#include <stdexcept>
#include <cmath>
#include <list>
#include <iostream>
#include <string>
#include <sstream>
#include <windows.h>

【问题讨论】:

  • 你能发布完整的错误信息,还有这个C文件中#includes的sn-p吗?
  • 如果你改成 glfw2.h 可以吗?是否有可能像预编译的标头这样的东西正在做一个包含?也许是 stdafx.h ?
  • 好吧,它们在 cpp 文件中没有任何包含,除了包含此标头。我在想它可能是包括 glew 在内的其他课程之一,但到目前为止似乎并非如此。另一个注意事项是,当它编译 glew 标头时,我得到了正确的错误,它似乎没有进入 glfw 的包含。我上面发布的错误是除此警告警告“C4005:'APIENTRY':宏重新定义”之外的唯一错误

标签: c++ opengl glew glfw


【解决方案1】:

我发现似乎发生的事情是我有一个循环依赖,其中也包含了 glfw 两次。

【讨论】:

    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 2013-03-06
    • 2014-07-03
    • 2011-08-11
    • 2012-08-20
    • 1970-01-01
    • 2011-04-15
    • 2022-01-20
    相关资源
    最近更新 更多