【发布时间】: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':宏重新定义”之外的唯一错误