一、安装DirectX SDK
解决方案:
若要解决此问题,必须在安装 2010 年 6 月 DirectX SDK 之前卸载 Visual C++ 2010 可再发行组件的所有版本。 您可能已安装以下一个或多个产品:
- Microsoft Visual C++ 2010 x86 可再发行组件
- Microsoft Visual C++ 2010 x64 可再发行组件
包括比Microsoft Visual C++ 2010更高的vc运行库。
这是微软官方给出的解决方案,如果还是解决不了,只能重装系统了。(我是重装系统后,什么软件都不按照,先安装DirectX SDK解决的。)
重新系统后,重新安装vs2017,再用CMake也遇到了问题。
完美解决CMake时“could not find any instance of Visual Studio”的问题【每天一个小技巧】
没有遇到这个问题的,跳过。
二、下载assimp-3.1.1版本源码
因为Learn OpenGL教程中用的是assimp-3.1.1版本,所以我这里也用这编译这个版本。
三、编译
老规矩,在assimp-3.1.1目录下新建一个build目录,CMake设置生成的一些文件时候,设置到这里。
以下用生成vs2017 x64 debug为例:
设置完生成路径后,点击“generate”按钮,等待完毕后,点击"Open Project"按钮。
在vs2017中,“INSTALL”右键生成:
在cmd命令下用
tree [path] /f
查看目录树,可以知道之前我们设置的生成目录D:\Program Files\Assimp
,你们可以自由设置其他路径,只有不是C盘就好。
├─bin
│ assimpd.dll
│ assimpd.exe
│ assimp_viewerd.exe
│
├─include
│ └─assimp
│ │ 这里的头文件太多就省略了
│ └─Compiler
│ poppack1.h
│ pstdint.h
│ pushpack1.h
│
└─lib
│ assimpd.lib
│ assimpd.pdb
│
├─cmake
│ └─assimp-3.1
│ assimp-config-version.cmake
│ assimp-config.cmake
│
└─pkgconfig
assimp.pc
生成成功。