按照教程一步步编译好了glfw,vs也没有报错,可编译就是不通过——有可能只是你的lib文件位置没放对。
一般按照教程来说,最后的文件目录应该是这样的:“xxx/include/glfw/glfw3.h(或glfw3.lib)”,所以库目录和包含目录也就到include为止。
但是小白如我会遇到的情况就如标题所示了。不妨先检查一下链接器的附加依赖性有没有打错字,比如打成glfw32.lib之类(是的就是我)。然后把glfw3.lib直接放在include文件夹下。
我的情况就这样解决了。
另外,glfw一般和glad配套使用,但需要注意的是“#include<glad/glad.h>”字段应当放在其他所有include之前,否则会报错“fatal error C1189: #error: OpenGL header already included, remove this include, glad already provides it”
多说两句。glfw编译来编译去,最后有用的只有两个文件:下载时就自带的include文件夹下的glfw.h和生成项目后在src/debug文件下的glfw3.h。而当你把它们打包好装在一起后,使用这个库时需要对项目的属性做的更改也只有三个:添加vc++中的包含目录、库目录,和链接器输入字段里的附加依赖项(加上glfw3.lib和OpenGL32.lib)。