这个学期开始学习3d图形处理, TA 在第一节tutorial上来就给了一堆东西, 让我这个菜鸟有点找不到头脑, meshlab, libigl, cmake 连番上阵, 感觉很虚,也没记住多少,最蛋疼的是感觉周围同学和TA都在用mac, ta 的演示也是在mac上的, 很心酸.

课程结束后赶紧上网找资料才勉强搞懂Cmake是干啥的,至于如何在visual studio上配置, 找到的全是 visual studio 2015 的文章 (目前是2018年, 博主版本是VS2017), 而且每个人的情况都不太一样,  不过好消息是libigl官网只说最低要求是 visual studio 2015, 2017 是没有问题的(如第二张图所示).

首先是下载cmake, 对于windows用户, cmake 比价偏爱吧, 还提供了图形操作界面, 相关内容可以参考这个文章.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

如果你更倾向与打命令行的话,需要配置环境变量, 相关内容,可以参考这篇文章

貌似第一篇文章指出这两个功能可以同时实现,我不深究了,总之你能cmake就行. 

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial.

接下来就是 Libigl了, 下载libigl推荐用git命令, 直接下载zip文件的话, 会缺失一部分文件的, 博主亲自试过.......  不知道什么是git 同学要加油了, 比如说博主, 虽然有GitHub账户两年多了, 但是只是当时凑热闹注册的, 一直也没有养成上GitHub的习惯, 更别说上传自己的项目和看别人的项目了, 说来惭愧, 博主大部分时间都是面向百度编程的.....( git 和 github 是两回事.)

相关内容,可以参考这篇文章. 博主友情提醒, 安装时候仔细看内容, 一股脑点下一步不可取. 

安装完git 后, 就要用git clone libigl 文件了, 相关内容,可以参考这篇文章, 楼主一开始也是照着这个文章弄得, 它得作者写的挺好的,虽然我并没有出现他最后一段出现得错误,我估计是libigl更新了, 而这篇文章得作者当时就没有那么幸运了.

在这里我要郑重提醒, libigl 只支持 visual studio 2015 版本以上编译器, 而且必须是64位的, 这一点很重要!!!

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

上面那篇文章其实也提到了,但是我当时不知道为什么没有太注意, 关注点都在其他的文章上面了. 比如说这位妹子的文章让我惊恐万分, 她在有VS2017的情况下依旧选择安装VS2015, 然后她选择用命令行生成makefile文件(windows 下会是.sln解决方案文件), 而ta给我们演示的也是用打cmake命令的方式, 这让我一时不知所措, 纠结了许久.(因为mac没有图形界面??)

其实两种方法都可以的, 但是正如我提醒的那样, libigl在VS上只支持64位的编译器, 所以在windows下相关命令和其他平台略有不同, 打cmake命令时要指定VS版本和64位架构. 如下图所示, 当然VS版本要根据你自己的来.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

不过博主并没有通过打命令的方式来生成解决方案文件的,我直接用Cmake-gui,就是上面提到的图形操作界面(gui)来生成的,注意Configure时要选择"vs 某某版本 64位", 配置时的图不好截,给一个配完后的图吧.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

之后generate就会生成解决方案文件, 我这一步很顺畅, 但是有些人会在这一步出错, 我猜想是其他库和软件的问题. libigl 并不是一个单独的库, 还依赖其他的库, 图形计算时要用到另外一个C++的向量库Eigen, 这个官方文件也提到了, 请务必提前下载.

下图同时也是对上面打命令方法的一个总结, git 文件, 进入tutorial文件, 新建build文件, 进入文件, cmake ../ (处理makelists文件), 注意这里应该要指定VS相关数据, 这个官方文件是面向所有平台的,这也是cmake工具的意义所在, 同时libigl里的makelists.txt 文件会自动帮你配置好相关库, 在cmake_gui里就是那些红色的东西了. 

make命令对windows用户应该不需要, 这里就可以进入VS了.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

其实libigl不只仅仅依靠一个eigen库而已, 要想完全使用libigl, 要配的东西有很多, matlab, GLFW都有关系, 如果你是想在vs上从一个空项目开始构建图形的话, 配置建议参考这位老哥的博客(英文), 我目前进度还只是限于tutorial, 所以还没有尝试这以外的东西. 

其实这位老哥的文章已经说的很详细了, 但是我在使用cmake_gui时并没有出现任何和配置错误和生成错误, 这让我有点心虚, 同时这位博主还说到可以不勾选 LIBIGL_USE_STATIC_LIBRARY, 但是我不勾选后就会出错, 我只能说我疑心太重了....

总之我第一次没成功后, 就开始狂发邮件混炸TA, 同时开时尝试其他方法, 但是想想邮件又有多大作用呢, TA给了一些指导性意见后, 我第二次又没成功, 过了几天后的今天本应该做其他的事的, 但是不知到怎么开始了第三次尝试, 在ta的"废话"指导意见下, 又做了一遍cmake的"hello word", 做libigl的"helloword"又需要看eigen, 看了半天eigen的文件后尝试发现, 从空项目开始配置没有没有问题, 然而我把代码贴到tutorial的项目中就编译错误, 即使我配置了正确的项目库, 最后误打误撞发现我在VS项目中调不到64想到可能是cmake生成时的问题, 最后才结决, 说多都是泪. 

最后是玄学时间, 如果你在尝试libigl tutorial时除了上述元素外还有问题, 推荐安装matlab(90%相关), 还有我记得好像在哪看过好像vs安装时选某个选项才会好像集成GLFW,等等你都可以试试, 祝你捣鼓愉快. 

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

--------------------------------------------------2018.1.20更新-----------------------------------------------------------------

直到我上第二节课时我才意识到我上次的东西有缺漏,如下图所示,我的上次的界面没有菜单选项,问问了TA才知道我没有将Nanogui menu 选项打开, 好吧, 这次我准备用命令行的方式重新弄一遍.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

整个流程思想还是不变的, 首先要保证有eigen 和 libigl 文件, 打开tutorial 里的cmakelist.txt 文件, 在 Nanogui menu 处修改为ON.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

cmd里进入tutorial 文件, 创建build文件, 进入build文件.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

用cmake ../ 命令, 参数是 VS 64位编译器.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

完成, 打开解决方案文件即可.

在 visual studio 2017 IDE下配置 Libigl 里的 tutorial

相关文章:

  • 2021-09-16
  • 2021-04-15
  • 2021-05-31
  • 2022-01-02
  • 2021-05-20
  • 2021-05-23
  • 2021-12-30
猜你喜欢
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2021-07-24
  • 2021-12-18
相关资源
相似解决方案