找不到Visual Studio.dll(从未要求它)

Visual Studio, .dll not found(never asked for it)

本文关键字:Visual Studio dll 找不到      更新时间:2023-10-16

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

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

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

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

您已经告诉您的应用程序通过链接到lib文件来使用DLL。您链接的文件本身不是静态库。与中一样,它并不包含所有功能。

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

我下载了该库的3.0版本,我可以说Visual Studio确实说到做到。assimp--3.0.1270-sdklibassimp_release-dll_win32assimp.lib的大小只有88 KB,所以它太小了,无法包含Open Asset Import library这样的扩展库的所有代码,而位于assimp--3.0.1270-sdkbinassimp_release-dll_win32中的Assimp32.dll的大小整整是6900 KB,所以这是大多数好东西的实际位置。

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