ete*_*oob 8 c++ opengl dll assimp cmake-gui
我正在尝试安装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在函数"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.请指教.
我最近刚刚完成了此操作,并且会说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”->“属性”->“构建事件”,然后将命令行部分中的路径从.. \ Path * .dll更新到.. \ Path * .lib。(如果遇到错误,请对assimp_cmd项目执行相同的操作)。