【问题标题】:Include not finding library in Visual Studio 2015包括在 Visual Studio 2015 中找不到库
【发布时间】:2016-02-02 03:37:08
【问题描述】:

我正在尝试从 Java 迁移到 C++,但 Visual Studio 给我带来了巨大的痛苦……我已经连续两周每天都在尝试,但没有任何效果。即使设置了每个包含目录,Visual Studio 也永远找不到我的 glfw3.lib。在这里,您可以看到包含目录集。

这是另一张图片,显示我将它包含在链接器中。

另外一张图片,显示文件在它应该在的位置。

尽管一切看起来都正确,但每次我编译时都会收到一个错误,指出它不存在。我也上网查了好久,没发现有什么好用的。

【问题讨论】:

  • 你试过普通目录,不是OneDrive吗?
  • 试着把它放在我的桌面上。还是不行……
  • 请引用确切的错误信息。
  • 致命错误 C1083:无法打开包含文件:'GLFW\glfw3.h':没有这样的文件或目录
  • 首先,你的问题的标题是错误的。找不到的是 .h 头文件,而不是 .lib 库。其次,错误提示代码中的某处存在编译器无法解析的#include <GLFW\glfw3.h>。这假定glfw3.h 存在于名为GLFW 的目录中,例如X:\something\etc\GLFW。确保您添加到 Include Directories 的内容只是基本路径,例如 X:\something\etc

标签: c++ visual-studio-2015 glfw


【解决方案1】:
  1. 确保您使用相同的配置(调试/发布)来构建
  2. 在此位置添加您的库所在文件夹

编辑:

  1. 搜索glfw3.h的文件位置
  2. 免得说这个文件的路径是D:\mycode\project1\GLFW\glfw3.h
  3. D:\mycode\project1\ 路径添加到此图中显示的“其他包含目录”

注意: 当我看到您的项目属性对话框时,我可以看到您正在为All configurations 设置配置。检查您发布的图像的左上角。

但需要为 Debug 和 Release 配置文件分别设置必要的配置。特别是库路径。

【讨论】:

  • 尝试构建调试和发布,但没有解决。将该目录添加到其他库目录似乎也不起作用。
  • 致命错误 C1083:无法打开包含文件:'GLFW\glfw3.h':没有这样的文件或目录
  • 你知道glfw3.h文件的位置在哪里吗?如果是这样,请张贴路径。这与图书馆无关。
  • 检查编辑:我已添加到答案中的部分
【解决方案2】:

“.lib”文件与Java“.jar”存档相同。 “.lib”是编译后的可执行代码。

您收到的错误是因为编译器正在寻找未编译的“.h”文件。

您需要找到包含“GLFW\glfw3.h”的目录头文件并将包含路径指向包含 GLFW 目录的目录,而不是包含“.lib”的目录.

编译器使用的不是“.lib”文件,而是链接器

【讨论】:

    【解决方案3】:

    所有设置完成后,不要忘记选择您要将项目编译到的平台(x86、x64),并确保它与您的 GLFW 版本匹配。 如果你不这样做,那么 VS 将找不到 GLFW 源文件。

    【讨论】:

      【解决方案4】:

      不要使用#include<glfw3.h>,而是使用#include<GLFW/glfw3.h>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多