GLFW/glfw3.h 包含失败

GLFW/glfw3.h included failed

我刚开始学习opengl,我是从GLFW库开始的。 我从 http://www.glfw.org/download.html 下载 "Windows pre-compiled binaries"。然后我将文件解压缩到 C:\GLFW

现在我在编译代码时遇到了问题。我在命令行中使用 mingw,比如

gcc main.c -IC:\GLFW\include\GLFW -LC:\GLFW\lib-mingw -lglfw3 -lglfw3dll -lopengl32 -lgdi32

总是显示"fatal error: GLFW/glfw3.h: No such file or directory"

但是如果我在代码中将 #include <GLFW/glfw3.h> 更改为 #include <glfw3.h>

编译成功。

但每个教程都向我展示了前者。为什么?

如果我把头文件和lib文件放到mingw的搜索路径下,有什么不同吗?

因为你直接include到C:\GLFW\include\GLFW,所以这个目录下没有GLFW文件夹。如果要使用 #include <GLFW/glfw3.h>,则需要使用此路径代替 C:\GLFW\include

回答你的两个问题:

  1. 包含路径与您非常相关。 #include <GLFW/glfw3.h> 还是 #include <glfw3.h> 你更喜欢哪个?
  2. 你可以把lib和header放在mingw的路径下,但是你要记住,你仍然需要输入好的路径(#include <GLFW/glfw3.h>如果你把它放在文件夹里)。我不推荐这种方法,因为我更喜欢在我的项目目录中创建一个 includelib 文件夹。如果您想做更多研究:http://www.mingw.org/wiki/includepathhowto.