包括在 Visual Studio 2015 中找不到库
Posted
技术标签:
【中文标题】包括在 Visual Studio 2015 中找不到库【英文标题】:Include not finding library in 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
。
【参考方案1】:
-
确保您使用相同的配置(调试/发布)来构建
在此位置添加您的库所在文件夹
编辑:
-
搜索glfw3.h的文件位置
免得说这个文件的路径是
D:\mycode\project1\GLFW\glfw3.h
将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>
【讨论】:
以上是关于包括在 Visual Studio 2015 中找不到库的主要内容,如果未能解决你的问题,请参考以下文章
Angular 5 和 TS2307 在 Visual Studio 2015 中找不到模块
在 Visual Studio 2015 C# 中禁用红色波浪线
Visual Studio 2015自定义安装不包括Visual Basic?