我试图在我的项目中安装Assimp,但我遇到了一些麻烦。我目前正在使用win 10 pro和visual studio 15 2017.
我已下载Assimp 4.0.1.zip,将其解压缩到目录中,加载cmakeGui并运行配置两次,然后生成到Assimp / build目录。
接下来我进入了Assimp / build,我运行了Assimp.sln并选择了ALL_BUILD,我认为它是。然后我复制了.lib和.dll旁边的/ code / debug中的所有文件,并将它们全部移动到我的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在函数&#34中引用; public:unsigned int __thiscall aiMaterial :: GetTextureCount(enum aiTextureType)const" (?GetTextureCount @ aiMaterial @@ QBEIW4aiTextureType @@@ Z)opengl_model_loading F:\ Desktop \ MyDocuments \ Tuts \ opengl \ getting started \ opengl_model_loading \ opengl_model_loading \ main.obj 1
这个错误让我感觉这可能是由于dll。 请指教。
答案 0 :(得分:4)
我最近刚刚自己完成了这项工作。会说与v401&有很多麻烦得到错误或链接问题。成功让我的工作跟随;
注意:ASSIMP确实将boost作为依赖项。
打开Cmake GUI&一旦打开:
2.1。或者,如果您熟悉命令行选项:使用
生成具有相关路径的项目文件确保为代码构建正确的库,即32 / 64bit / debug / release / unicode / etc,否则可能会遇到问题。
以下视频对视觉倾向有用。 https://youtu.be/W_Ey_YPUjMk
希望这有帮助。
编辑: 如果你想要静态库版本,即不需要.dll: 从上面的步骤:
5.1。更改相关项目配置类型&从.dll扩展到.lib类型(应该是两个:assimp& zlib)。
5.2。右键单击“UpdateAssimpLibsDebugSymbolsAndDLLs” - > Properties-> Build Events&将命令行部分中的路径从.. \ Path * .dll更新为.. \ Path * .lib。 (如果遇到错误,请在assimp_cmd项目中执行相同的操作)。