【问题标题】:Visual Studio, .dll not found(never asked for it)Visual Studio,.dll 未找到(从未要求)
【发布时间】:2012-07-25 04:44:45
【问题描述】:

我告诉了 Visual Studio 额外的库目录,并在额外的依赖项中写入了 .lib。 (是的,.lib,不是 .dll)。然后所有的外部符号文件错误都消失了(之前有一些错误),但随后出现了:

实际名称和我对附加依赖项所说的内容是:assimp.lib

但是当我运行程序时,它说:找不到依赖的dll,并且在消息框中,它说Assimp32.dll

而且我从来没有说过要包含一个 dll 名称,尤其是那个名称,所以我很困惑,如果我犯了错误,我已经检查了好几次,但似乎没有。

【问题讨论】:

    标签: c++ visual-studio dll


    【解决方案1】:

    您已通过链接 lib 文件告诉您的应用程序使用 DLL。您链接的文件不是 static library 这样的文件。如,它不包含所有功能。

    在这种情况下,它是一个 import library (assimp.lib),其中包含 DLL (assimp32.dll) 的入口点信息。这就是为什么当你运行程序时,它仍然要求一个 DLL。即使您可能认为您没有告诉您的程序这样做。

    【讨论】:

    • 感谢您描述这一点 - 我很困惑以为我正在提供一个带有 assimp.lib 的静态库,但仍然看到“找不到依赖的 dll”。
    【解决方案2】:

    我下载了库的 3.0 版,我可以说 Visual Studio 确实如其所说。 assimp.libassimp--3.0.1270-sdk\lib\assimp_release-dll_win32 中的大小只有 88 KB,因此对于包含 Open Asset Import Library 这样庞大的库的所有代码来说太小了,而位于assimp--3.0.1270-sdk\bin\assimp_release-dll_win32 中的Assimp32.dll 的大小是整个 6900 KB ,所以这才是真正的好东西所在的地方。

    结论:assimp.lib 确实依赖于Assimp32.dll,因此您应该将Assimp32.dll 复制并保存在程序的.exe 所在的同一文件夹中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 2015-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多