没有“glu.h”和“windows.h”,GLFW 无法编译
Posted
技术标签:
【中文标题】没有“glu.h”和“windows.h”,GLFW 无法编译【英文标题】:GLFW cannot compile without "glu.h" and "windows.h" 【发布时间】:2018-10-31 02:21:30 【问题描述】:我想创建一个游戏引擎,但是如果没有<GL/glu.h>
和<windows.h>
,我的图形子系统将无法编译。
-
仅使用
<GLFW/glfw3.h>
编译Graphics.cpp
,不使用两个标头将在Graphics.cpp
、'gluErrorString' was not declared in this scope
上打印错误。
编译 Graphics.cpp
与 <GLFW/glfw3.h>
AND '',没有 <windows.h>
将在 glu.h
、c:\mingw\include\gl\glu.h|225|error: 'WINGDIAPI' does not name a type
上打印错误。我发现的一些解决方法是在Graphics.cpp
中也包含<windows.h>
。
用<GLFW/glfw3.h>
AND '' AND <windows.h>
编译Graphics.cpp
不会返回错误。问题是这个程序不是跨平台的不是吗?
如GLFW build guideIncluding the GLFW header file
部分所述;不需要包含windows.h
和OpenGL 头文件,因为GLFW 头文件已经包含了这些。因此,我正在尝试遵循指南或最佳实践,并尝试使我的游戏引擎跨平台。
以下是我在 CodeBlock 中的链接器选项,
-lglfw3
-lOpenGL32
-lglu32
-lgdi32
【问题讨论】:
GLU 已过时。它不再是现代 OpenGL 的一部分。这就是 GLFW 不包含它的原因。 "如果没有原来我只需要在 #defines
部分的 CodeBlock 编译器设置中写入 GLFW_INCLUDE_GLU
。
来源:Building GLFW program, by Sugih Jamin
【讨论】:
以上是关于没有“glu.h”和“windows.h”,GLFW 无法编译的主要内容,如果未能解决你的问题,请参考以下文章