好了废话,不多说,开始正题吧!
一、下载igllib
去GitHub吧,https://github.com/libigl/libigl/
然后Clone in Desktop,下个客户端把其克隆到本地电脑的某个地方。
这里我克隆的地址为:D:\work_files
二、cmake其下的tutorial
打开cmake(什么?不知道是什么,自己先去下个,我开始也不知道是什么)
source code: D:/work_files/libigl/tutorial
build the binaries: D:/work_files/libigl/tutorial/build
然后config,config的时候注意选择自己的VS版本,我这里是VS2015,就选“Vistual Studio 14 2015”
config好后,就generate
应读者要求,现把CMAKE的配置界面截图出来:
如果这里配置出错,很有可能是由于找不到依赖库都造成的,因为通过Download ZIP下载下来的话,里面的文件会不全,所以最好用github客户端克隆出来.
三、编译tutorial
1、打开D:\work_files\libigl\tutorial\build\libigl_tutorials.sln
2、打开configuration manager,将102到705的项目的勾全去掉(节约时间=。=!)
3、然后就开始编译吧(等待错误的发生0,0),编完了长这样(实在不能再懒了,发张图吧)
错误提示长这样:
10>D:\work_files\libigl\external\nanogui\include\nanogui/label.h(42): error C2719: 'color': formal parameter with requested alignment of 16 won't be aligned (compiling source file D:\work_files\libigl\external\nanogui\src\layout.cpp)
10> popup.cpp
10>D:\work_files\libigl\external\nanogui\include\nanogui/label.h(42): error C2719: 'color': formal parameter with requested alignment of 16 won't be aligned (compiling source file D:\work_files\libigl\external\nanogui\src\label.cpp)
好像是什么对齐的关系,不要慌,跟着我来改错
4、开始改错,在Solution Explorer中右键点击nanogui项目,然后properties->configuration properties->c/c++->Preprocessor
在Preprocessor Definitions加入 EIGEN_DONT_ALIGN
同样的方法应用在101_FileIO_bin项目中,然后继续编译(继续等出错-,-!)
错误出来了,长这样
Severity Code Description ProjectFile Line
Error LNK2026 module unsafe for SAFESEH image. 101_FileIO_binD:\work_files\libigl\tutorial\build\101_FileIO\opengl32.lib(OPENGL32.dll)1
5、继续改错,右击101项目properties->configuration properties->Linker->Advanced
把最后一项,Image Has Safe Exception Handlers 改成 No,继续编,
然后会提示你,系统找不到ALL_BUILD什么之类的,这个时候你就成功了。
6、把101设成启动项,你就可以运行了(什么?你不会设启动项?问老师去)
7、其实101很好弄出来,卡到我是102项目,那么怎么弄呢,原理一样,首先打开Configuration manager,把101去掉,把102勾上
同样的方法进行改错,然后设为启动项,开编
有个小错误,模型找不到,我们多加个在前面多加个../,把路径改成这样:"../../shared/cube.off",然后再重新编译下
duang!~
好吧,教程结束,马上写第二篇如何脱离tutorial使用igllib,不然快忘掉了。