【发布时间】:2018-02-06 06:23:58
【问题描述】:
我正在尝试安装 Assimp 以在我的项目中使用,但遇到了一些问题。我目前正在使用 win 10 pro 和 visual studio 15 2017。
我已经下载了 Assimp 4.0.1.zip,解压到一个目录,加载 cmakeGui 并运行两次配置,然后生成到 Assimp/build 目录。
接下来我进入 Assimp/build 并运行 Assimp.sln 并选择了我认为是的 ALL_BUILD。然后,我复制了 /code/debug 中与 .lib 和 .dll 并排的所有文件,并将它们全部移动到我的 exe 构建到的项目的 Debug 目录中。我将 .lib 复制到我的 opengl/libs 目录中,并将 /include 中的所有头文件从最初提取的下载中复制到我的 opengl/includes/assimp 目录中。
最后,我调整了我的项目链接器设置以包含 assimp.lib 和 assimp.dll(为简化本文而使用别名)
当我尝试构建项目时,它说它无法打开 dll,并且在试验时我将 dll 与 main.cpp 和我的其他文件一起复制到项目目录中并再次运行,这一次它说“文件无效或损坏: 无法读取 0x378"
可以肯定地说我需要学习编译、链接和 cmake,但现在我要重新开始。
当我将标题包含到我的项目中时,我认为我让它停止抱怨之后我让它工作了(也许我做到了......)。为此,我像以前一样从新构建的 Assimp 开始,将所有带有 dll 的文件移动到我的 libs 目录中,将下载中的所有包含转储到我的包含中,还将 config.h 从构建移动到此目录。然后我在项目中设置了链接器设置,并没有将任何东西移动到我的项目目录中。
在那之后,它停止了抱怨,所以我继续我正在关注的教程系列。我编译了,遇到了很多错误,将它们修复为 0,然后突然我得到了 8 个新错误。
严重性代码描述项目文件行抑制状态 错误 LNK2019 未解析的外部符号 _aiGetMaterialTextureCount 在函数“public: unsigned int __thiscall aiMaterial::GetTextureCount(enum aiTextureType)const” (?GetTextureCount@aiMaterial@@QBEIW4aiTextureType@@@Z) opengl_model_loading F:\Desktop\MyDocuments\Tuts\opengl\开始\opengl_model_loading\opengl_model_loading\main.obj 1
这个错误给我的感觉可能是由于 dll。 请指教。
【问题讨论】:
标签: c++ opengl dll assimp cmake-gui