【问题标题】:assimp-vc140-mt.dll was not found未找到 assimp-vc140-mt.dll
【发布时间】:2020-11-08 06:24:00
【问题描述】:

assimp-vc140-mt.dll ASSIMP was not found 确实是同一个问题,但答案并不能解决我的问题。

我已将 DLL 与 EXE 和解决方案放在同一个文件夹中,但在缺少 DLL 时仍然出现相同的运行时错误。

picture of my EXE folder

picture of SLN folder

根据上一个问题,这就是 DLL 应该位于的地方。但是当我运行编译器it looks like this

谢谢

【问题讨论】:

  • 从错误信息中应该有些明显,142不是140。github.com/assimp/assimp/issues/3004
  • 对不起,我不明白。我正在使用 Visual Studio 2019,DLL 被命名为 142。这不是正确的名称吗?在这种情况下我该怎么做才能纠正它?

标签: c++ dll runtime-error visual-studio-2019 assimp


【解决方案1】:

您的程序正在寻找调试 dll(这就是词干中的最后一个字符 - 'd')。您目前只有发布 dll。

编译 assimp 库的调试版本。

执行此操作的示例过程:

克隆存储库:

git clone https://github.com/assimp/assimp.git

在存储库目录中创建build 目录:

cd assimp
mkdir build
cd build

在调试模式下构建程序

cmake ..
cmake --build . --config Debug

完成后,assimp/build/bin/Debug 中应该有 assimp-vc142-mtd.dll,将其复制到包含可执行文件的文件夹中。

【讨论】:

  • 非常感谢。这解决了错误消息。问可能很愚蠢,但有什么理由使用一个而不是另一个。 (调试 DLL 或发布 DLL)我的意思是如果我构建我的 lib 来处理它。
  • 我不完全确定 Debug 必须发布的所有更改。我知道 Release 优化了很多代码(这可能是更改操作顺序、省略未使用的变量、删除 C 断言等)。 Debug 还输出数据库和符号(也不太清楚它们是什么),以便您可以设置断点。
  • 很高兴您得到了解决方案,感谢您的分享,如果您将它们标记为答案,我将不胜感激,这将对其他社区有益。
猜你喜欢
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 2021-12-14
  • 1970-01-01
  • 2020-06-01
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
相关资源
最近更新 更多