MinGW找不到GLFW库

时间:2013-08-16 19:06:56

标签: mingw

大家好需要帮助MinGW链接GLFW的库。我在网上找不到任何答案,或者说我找不到任何答案。我试图使用-L指定libs文件夹的路径,并且已经将lib和include包含在MinGW中。

我甚至尝试过更改libs的名称。编译器从不抱怨没有找到头文件,但链接器说它无法找到我指定的lib。  我一直在GLFW的网站上,但我担心我不太了解他们想要告诉我的内容。我在Windows7上通过命令行使用MinGW,因为我无法使用Code :: Blocks。我曾尝试按照opengl-tutorial.org上的安装说明进行操作,但遗憾的是开始抱怨与ANT有关,我根本不了解。所以我认为我有更好的机会通过命令行让它工作。

我试过了:

g++ test.cpp -lglfw or g++ test.cpp -LC:\GLFW\lib -lglfw 

进入命令行。

2 个答案:

答案 0 :(得分:1)

我设法让mingw32和GLFW3一起工作。

  1. 确保你有一致的图书馆(32或64位)(这不是我的情况)
  2. 将glfw3dll.a重命名为libglfw3dll.a
  3. 将你的lib * .a从glfw添加到%MINGW_BASE%\ lib并将文件包含到%MINGW_BASE%\ include
  4. 使用g ++ test.cpp -lglfw3 -lopengl32
  5. 编译和链接
  6. 要运行它,请务必在System32或/和SysWOW64中添加glfw3.dll
  7. 它对我有用

    希望它会有所帮助,

答案 1 :(得分:1)

对GLFW3 lib-mingw目录的简单调查可以解答您的问题。假设您有hereglfw-3.0.3.bin.WIN64.zipglfw-3.0.3.bin.WIN32.zip之一,取决于您的工具链)的GLFW3二进制包。提取它应该给出一个目录lib-mingw等。该目录包含:

  • libglfw3.a
  • glfw3dll.a
  • glfw3.dll

因此,库名称为glfw3,而不仅仅是glfw。因此,当将其传递给链接器时,您必须传递-lglfw3,即如果要静态链接到它。如果您想动态链接到它,那么只需传递glfw3dll.a;添加-l将导致链接器为其添加lib前缀,并以.a为后缀(请参阅Django的回答)。