libigl安装笔记

libigl安装

准备

安装git和cmake,注意git尽量安装在默认位置。

安装步骤

使用Git下载libigl

新建一个文件夹,用于保存下载的文件,在文件夹中右键Git Bash Here,然后输入以下下载命令

git clone –recursive https://github.com/libigl/libigl.git

–recursive可省去。

注意由于网络问题,可能无法下载成功,需要为git设置代理。 一文让你了解如何为 Git 设置代理 - Eric (ericclose.github.io)

git config –global http.proxy ://:

针对clash,使用如下命令:

git config –global http.proxy http://127.0.0.1:7890

使用Cmake编译

  1. 下载的文件为libigl,在libigl文件夹下新建一个build文件,用来存放编译的结果

  2. 打开Cmake,将sourse和build目录设置为libigl文件夹和build文件夹的路径,点击界面左下角的Configure,在弹出的界面中选择合适的VS版本 https://img.tucang.cc/api/image/show/b1f73db0edc46f7950e2ca71fff1d162

  3. 点击Configure进行编译,generator选Visual Studio(2015及以上版本)自带的(默认已经安装了Visual Studio),最后点击Finish

https://img.tucang.cc/api/image/show/2c5e506502192dabd7d06e2b18a77a61

Configure过程中会遇到很多很多报错,但是只要遇到Build step for eigen failed: 1 类似的错误,就一直点Configure,这个过程等就是了。如图所示,就说明Configure好了,就可以点击Generate生成,生成之后会在build文件夹下生成libigl.sln解决方案。 https://img.tucang.cc/api/image/show/d58cef15c61b448dd27dc4b7f5995c85

运行libigl.sln

双击打开libigl.sln解决方案,选择任意一个项目,设置为启动项目,点击运行就行了。

我的经验来看,首先生成全部解决方案,(猜测因为后面的一些tutorial可能用到前面的编译结果?),之后可对一些子项目进行重新生成。一般选择release和x64(重点!!!)。

一些问题

igl.lib无法打开

在利用vs2019生成全部解决方案时,失败,此时参考LNK1104 could not open file“..\lib\Debug\igl.lib” · Issue #2317 · libigl/libigl (github.com) libigl编译问题(网络问题+LNK1104找不到igl.lib)-CSDN博客

You can take a look at those errors at the bottom in VS, it looks like there are emoji emoticons in the code, just comment out those printf statements.

if(stinker){ printf("%s\n",self_test?“🍎&(V1,F1) == 🍎&(V2,F2)":“🍎≠🍊”); }

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2001 常量中有换行符 igl_core D:\researches1\libigl\include\igl\fast_find_intersections.cpp 51

直接注释掉就可以 // if(stinker){ printf("%s\n”,self_test?“🍎&(V1,F1) == 🍎&(V2,F2)":“🍎≠🍊”); }

1
  if(stinker) { printf("    %s\n",found_intersection? "☠":"❌"); }

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2001 常量中有换行符 igl_core D:\researches1\libigl\include\igl\fast_find_intersections.cpp 206

​ if(stinker) { printf(” %s\n",found_intersection? “xx”:“yy”); } 把emoji表情改为字符

dll文件缺失

修改完上述错误之后可以成功生成解决方案,但唯独504、505、506三个算例exe打开失败,提示缺失.dll文件。搜索相应文件,并将文件复制到release文件夹(exe同文件夹)内,504可以运行。 libopenblas.dll not found · Issue #4 · libigl/CoMISo (github.com)

Maybe you need to copy the comiso dll into the folder of your executable?

但505、506依然不行,网上说将openblas更换为0.3.6版本可以解决问题。遂下载相应文件,将libopenblas.dll解压出来,替换了原文件。大功告成。 update openblas dll to be v0.3.6 by merlinyx · Pull Request #9 · libigl/CoMISo (github.com) MIQ program didn’t work tutorial/505_MIQ/main.cpp · Issue #1355 · libigl/libigl (github.com)

For us, the problem was similar as in our application runs fine in debug mode but not in release due to the library not being the most up-to-date. After replacing it with the v0.3.6 (released mid August), the issue gets resolved. In fact, using v0.2.15 (the immediate next version of the current version) also gets rid of the runtime error.


安装过程参考:

libigl正确安装教程(win10+visual studio 2019)_libigl教程-CSDN博客

【计算机图形学】libigl库的安装和配置_libigl安装-CSDN博客

libigl VS2019编译与安装-CSDN博客

创建自己的libigl项目_please add libigl to your project via add_subdirec-CSDN博客

学习笔记:

【笔记】Libigl从入门到放弃_libigl详细分析-CSDN博客