如何让 AssImp 正常工作?

How to get AssImp to work properly?

我已经尝试这样做了大约一个星期,但没有任何效果。我正在构建一个依赖 Assimp 加载模型的 .dll(UNDONE Engine .dll)。 .dll 编译和链接完全没有问题,但是当我尝试将它用于某些应用程序时,出现以下错误:

'Test_Game.exe' 是我制作的应用程序,它使用了使用 assimp 的 .dll 库。

我从 sourceforge 存储库下载了 assimp。我得到了 windows 的 3.0 版 SDK,安装了它,我做了所有必要的事情来链接项目。

这是带有 .exe 的目录的样子:

我已经包含了 lib 的正确位数,即 32 位版本。

为什么不起作用? Assimp 内部是否有一些内部错误阻止我使用它?还是我缺少什么?是否因为我从 dll 使用它而导致问题?你能帮我完成正确安装和使用的步骤吗?我用 visual studio 13.

编辑

在我的 exe 上 运行 Dependency walker 之后,我得到这个:

我不太清楚那是什么意思,但是,我只是猜测,这是否意味着 assimp.exe 有一些未定义的函数?

depends.exe 告诉您的是 undone_engine.dll 的导入 table 包含一个 AssImp.exe 的条目,其中包含一个函数 [=10= 的条目] 和一些朋友。 Windows 然后期望在 AssImp.exe.

export table 中找到函数 ??0Importer@AssImp@@QAE@XZ 和朋友

Depends 还告诉您 AssImp.exe 的导出 table 中没有任何内容,这不足为奇,因为 exe 很少导出任何内容。有趣的是,它还告诉您 assimp.exe 导入 assimp32.dll。

您可能打算 link 与 assimp32.lib,而不是 assimp.lib。 (@Dirk 在评论中暗示了这一点;我怀疑他已经搞定了。)你有一个 assimp32.lib 可以尝试 link 而不是 assimp.lib 吗?

不知AssImp32.dll是否从静态库ButtGremlin.lib导入代码? /十二岁