尽管静态链接,但未找到 DLL

Posted

技术标签:

【中文标题】尽管静态链接,但未找到 DLL【英文标题】:DLL not found despite static linking 【发布时间】:2021-01-03 09:06:57 【问题描述】:

我的Library 文件夹中有bass.libbass_fx.libzlib.lib,我的项目中有Additional Dependencies

但是当我运行我的程序时,它抱怨找不到bass.dllbass_fx.dllzlib.dll

如何解决这个问题?

【问题讨论】:

类似:***.com/questions/2240737/… @DhirajWishal 我如何知道 .lib 文件是导出表还是实际库?只是文件大小? 我对这个主题不太熟悉,但这些链接可能会有所帮助:MSDN, SO @Raildex 见know if .lib is static or import。 【参考方案1】:

如果你想静态链接,首先你必须确保你拥有的 *.lib 是真正的静态库而不是动态库(似乎是这种情况)。

您可以使用 Visual Studio 命令行工具中的 dumpbin 来验证这些 .lib 中的内容。

【讨论】:

我知道 DLL 链接的工作原理,但我想静态链接特定的库。 我认为 OP 试图问的是他试图静态链接它,但应用程序正在请求一个 .dll 文件。 如果你的 exe 抱怨它找不到 dll - 在这种情况下你不是静态链接

以上是关于尽管静态链接,但未找到 DLL的主要内容,如果未能解决你的问题,请参考以下文章

静态模板成员变量具有内部链接但未定义

我们可以静态链接动态 C 库吗?

静态链接库的动态 DLL

dll和lib(包括静态链接库和与dll同时生成的lib)

无法生成完整的静态链接应用程序

多个静态链接 dll 的 DLL 重定向