gpt4 book ai didi

c++ - 为什么当我只使用静态 .lib 时 Windows 告诉我找不到 .dll 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:28:51 24 4
gpt4 key购买 nike

我想我有一个理解问题,如果有人最终向我解释我会很高兴......

我正在开发一个使用我自己的静态库 (.lib) 的 Win32 应用程序 (.exe)。该库依赖于另一个静态 库(实际上是用于 Windows 的 libxml2)。

我做了什么:

  • 我将 libxml 包含目录添加到我的 .lib 项目“VC++ 目录”->“包含目录”。
  • 我构建了我的库,构建成功,.lib 文件出现在我的输出文件夹中。
  • 我创建了一个控制台应用程序项目并编写了一些使用 .lib 函数(反过来使用 libxml 函数)的代码。使用“框架和引用”->“添加新引用”将我的 lib 项目作为引用添加到应用程序项目中。
  • 我尝试构建应用程序并遇到链接器错误 - 这没关系,因为我忘记通过“链接器”->“输入”->“附加依赖项”将 libxml2.lib 添加到我的应用程序中。所以我将 libxml2.lib 添加到依赖项中,并将它的路径添加到“VC++ 目录”->“库目录”。我重建了应用程序并且构建成功。但是当我尝试启动我的 .exe 时出现错误。它说:“应用程序启动失败,因为 libxml2.dll。重新安装应用程序可能会解决问题”。

那么为什么我的 .exe 需要 libxml2.dll?我只想将 libxml2 用作静态库。所有实验均使用调试配置设置完成。

最佳答案

看起来您的 DLL 版本库的库路径出现在静态库版本之前。

关于c++ - 为什么当我只使用静态 .lib 时 Windows 告诉我找不到 .dll 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15067042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com