【问题标题】:assimp-vc140-mt.dll ASSIMP was not foundassimp-vc140-mt.dll ASSIMP 未找到
【发布时间】:2018-01-14 20:25:23
【问题描述】:

我已经从http://assimp.sourceforge.net/main_downloads.html下载了Assimp项目

Assimp release image

assimp zip image

我还从这个链接下载了 cmake x86 版本:https://cmake.org/download/

cmake x86 image

我已经提取了两者,并在 assimp 的文件夹旁边创建了一个构建文件夹。 之后我打开了一个命令提示符,将目录更改为提到的构建文件夹。我将cmake.exe's path to the command promt 和 assimp 文件夹的路径作为第一个参数。之后,我在 build 文件夹中有 Visual Studio 解决方案。 我在我的 openGL 项目中创建了一个 assimp 文件夹。在这个 assimp 文件夹中,我创建了一个 lib 文件夹,并将 build/code/debug 文件夹中的所有内容放入其中,即:

assimp-vc140-mt.dll
assimp-vc140-mt.exp
assimp-vc140-mt.ilk
assimp-vc140-mt.lib
assimp-vc140-mt.pdb

之后,我从前面提到的lib 文件夹旁边的下载的 assimp 文件夹中复制了 include 文件夹。 所以现在我拥有了所有的库并包含在我的 openGl 项目中 我已经在我的 openGl 项目的 Visual Studio 中设置了额外的包含目录、额外的库和额外的依赖项

在我的main.cpp 中,我包含了这些标题:

include "assimp/Importer.hpp"
include "assimp/scene.h"
include "assimp/postprocess.h"

我可以构建我的项目并运行它。 但是当我在控制台出现后运行它时,我立即收到此错误:

assimp-vc140-mt.dll was not found

我不知道错误的根源是什么,你知道吗?

提前谢谢你!

【问题讨论】:

  • 您是否将assimp-vc140-mt.dll 与您的可执行文件放在同一个文件夹中?

标签: c++ visual-studio cmake linker assimp


【解决方案1】:

不要忘记不是系统 DLL 的依赖 DLL 是从应用程序目录和当前目录加载的 - 对我来说,这听起来像是您没有将 assimp-vc140-mt.dll 放入其中。

【讨论】:

  • 好的,有帮助,谢谢。你能告诉我为什么我必须把这个 dll 放到 exe 的目录中,但我不必对 glew 和 soil 和其他库做同样的事情吗?我是 C++ 的新手,很抱歉这个愚蠢的问题。
  • glew 可以从适当目录中的代码动态链接。对于隐式链接,DLL 遵循Dynamic-Link Library Search Order 或者您正在静态链接“其他库”,因为它们的代码最终会直接嵌入到生成的可执行文件中。
猜你喜欢
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 2021-04-11
  • 2021-12-27
  • 2018-01-18
  • 2020-06-01
  • 1970-01-01
  • 2014-06-23
相关资源
最近更新 更多