编译GLFW找不到-lglfw3

标签 c opengl glfw

我想使用 GLFW 库学习 OpenGL 编程。但是我在编译程序时遇到了问题。我按照 http://www.glfw.org/docs/latest/quick.html 上的教程进行操作并复制了完整的程序。我在http://www.glfw.org/download.html下载64位版本库.

我将第一行从 include <GLFW/glfw3.h> 更改为至include "GLFW/glfw3.h" 。我已将 GLFW 文件夹与 glfw3.dll、glfw3dll 和 libglfw3.a 一起放入该文件夹中

我在 Windows 7 上运行。这是我的 gcc 版本

gcc --version
gcc (tdm64-1) 5.1.0

我使用这个命令进行编译

gcc test.c -Llib-mingw/ -lglfw3 -lopengl32 -lgdi32

但是我收到了这个错误

cannot find -lglfw3

我应该怎么做才能让它发挥作用?

最佳答案

如果您仍然遇到此编译/链接问题,请尝试使用 -L 参数在 gcc 或 g++ lib 路径中设置 glfw 完整 lib 文件夹路径,如下简化。双引号和非相对路径应该有效。

g++ "-L<path_to_glfw>\\glfw\\lib-mingw" -o <executable>.exe <.o files list> -lopengl32 -lglfw3 -lgdi32 

两个注意事项:

  1. 无需传递 .a 扩展名。 MinGW g++/gcc 编译器将自动识别文件名。
  2. 如果您使用的是 64 位版本的 glfw,请将 -L 参数切换为 \glfw\lib-mingw64(或相应的 64 位库位置文件夹)

关于编译GLFW找不到-lglfw3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36238277/

相关文章:

c++ - 当我使用 glutIdleFunc 尝试将立方体放在不同的 x 轴上时,3d 立方体在 x 轴上跳跃

java - 如何创建和渲染 3D 分形?

opengl - CUDA 缺少 libGL.so libGLU.so 和 libX11.so

c++ - 改进窗口调整大小行为,可能通过手动设置更大的帧缓冲区大小

c - 自动微分Matlab Coder生成的C代码

c - “%d”需要类型为 'int' 的参数,但参数 2 的类型为 'long unsigned int' [-Wformat=]

c - 如何链接到 Tcl C API 中的 tclOO 函数

c++ - OpenGL:渲染到帧缓冲区以及显示

c++ - 为什么我在使用 GLFW 时不需要加载着色器?

c - 为什么当符号存在时 clang 会产生链接问题?