glew之前包含gl.h,但GLFW需要gl.h

时间:2011-04-24 02:02:59

标签: c opengl glew glfw

我记得你订购#include-s的方式。好吧,我有点麻烦了。我有这两个标题:

#include <gl/glfw.h>
#include <gl/glew.h>

如果我运行它,我会收到一条错误,说明在glew.h之前包含了gl.h.但是如果我颠倒那两个的顺序以便glew.h是第一个,我会得到很多错误。我只是想找出#define-s的含义,所以我可以对我说:#define whatineed 0x0000x。

  1. 如何使用标题排列来解决此问题。
  2. 狩猎和制作我的定义的方法是否安全?

2 个答案:

答案 0 :(得分:3)

首先包含GLEW标头时会出现什么样的错误?

GLEW标头定义了禁用包含大多数GL标头所需的所有魔法,因此在GLFW应该工作之前包括GLEW标头;应该像我在Linux,Windows和Mac OS X上使用原生GCC,Clang,MinGW,Cygwin和VC ++一样成功地使用了这些。这甚至是官方常见问题解答:

http://www.glfw.org/faq.html#can-i-use-extension-loaders-with-glfw

答案 1 :(得分:1)

主要问题是glfw.h有一个明确的检查来测试gl.h是否已被包含在内并且失败如果有,而不是仅仅继续忽略那个“错误”。我最后只是简单地在我的lib版本的标题中注释了那段代码。