无法打开 lib,除非我在我的项目中手动复制它

Cannot open lib unless I manually copy it in my project

尝试从其他驱动器导入外部库时,我不断收到错误 LNK1104 "cannot open foo.lib"

我在以下位置设置了正确的路径:

Properties -> Configuration Properties -> VC++ Directories -> Include Directories

Properties -> Configuration Properties -> VC++ Directories -> Library Directories

Properties -> Configuration Properties -> C/C++ -> General -> Additional Include Directories

Properties -> Configuration Properties -> Linker -> General -> Additional Library Directories

正确的 .lib 文件名包括扩展名:

Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies

这仍然给我错误,我发现修复它的唯一方法是在我的项目中手动复制 .lib(或 .dll)文件,通过复制它 linker 可以找到它和 link 它正确。

我在 SO 上发现的几乎所有问题都说要像我一样设置 .lib 的正确路径和文件名,为什么这不起作用,我必须直接将 .lib 文件复制到我的项目目录中让它工作?

根据Error LNK1104,据我所知,这个问题的原因是编译器无法搜索 .lib 文件的目录。

要解决路径问题,我们应该验证 LIB 环境变量是否已设置并且包含您使用的库的所有目录,以及您构建的每个配置。在 IDE 中,LIB 变量由 VC++ Directories Property Page 上的库目录 属性 设置。

如果静态库不是解决方案的一部分,在VC++ Directories 属性页面,我建议你应该尝试将路径添加到.lib文件所在的目录位于库路径中。

更多详细信息,我建议您可以参考link