因为计算机图形学实验要用到,我们宿舍三个人搞了好久都出错,不停的有bug出现,终于弄出来了(再不出来我就要切腹自尽了!!!!),决定整理一下。

目录

  • 下载git
  • 下载libigl
  • 下载cmake
  • cmake libigl
  • vs配置

下载git

在Github上下载libigl的zip压缩包解出来的会有错误,因此最好采用git命令下载,首先你需要下载一个git。
git下载官网
git下载安装教程我是按照这个博主的教程下的git,推荐给大家。

下载libigl

按Windows + r打开cmd
进入你想将libigl保存的目录,如我想将libigl下载在D盘:

输入命令:

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

等待下载完成,libigl文件夹就出现了。

下载cmake

附上我当时使用的教程(不用重启电脑就可以,忽略这个教程最后面重启电脑那一步。):cmake下载安装教程

cmake libigl

打开CMake(cmake-gui),即:
文件选择如下:

红色箭头指的地方:因为我的libigl文件夹直接在D盘,因此就放的D:/libigl。根据自己的libigl所在位置自行修改目录。
蓝色箭头指的地方的build文件夹是自己需要创建的。

先点击Configure,如果你已经下载了vs,直接默认就行。
等待它完成进度条。
**这里说一下:**在cmake的过程中它可能会报错,如果报错再点Configure重新cmake,多来几次就能成功。
成功后再点Generate,会看到出现两个done的指令。

cmake就算完成了。

去你建立的build文件夹,打开libigl.sln

可以选择全部编译,也可以只编译其中的几个。因为我们图形学实验只用到了101、102、103、206、607,因此我只需要编译这几个就行。
如果你是直接全部编译,跳过我现在说的也行。
如果你是单独编译其中的几个:
先选中你要编译的项目:

右击选择将它设置为启动项目:

再编译就行。

vs配置

这个真的要吐血,一直死在这一步,划重点了!!!
新建一个你自己的vs项目(正常创建即可)。

64位系统选择x64,32位系统选择x86(一定要选!!一定啊,别不当回事儿!!)


修改附加包含目录:

以下是我的,根据自己的目录进行相应修改:

D:\libigl\external\glad\include;D:\libigl\external\glfw\include;D:\libigl\external\stb;D:\libigl\build\stb_image;D:\libigl\tutorial;D:\libigl\cmake\..\include;D:\libigl\cmake\..\external\eigen


修改预处理器:

我放的是:

WIN64
_DEBUG
_CONSOLE
_WINDOWS
IGL_STATIC_LIBRARY
NOMINMAX
TUTORIAL_SHARED_PATH="./data"
CMAKE_INTDIR="Debug"

说明一下:32位系统将WIN64修改为WIN32,TUTORIAL_SHARED_PATH="./data"是我的实验需要的数据的目录,我看到其他的人配置的时候是让TUTORIAL_SHARED_PATH="D:\libigl\tutorial"的,根据自己的情况进行修改。

添加之后变为:

修改附加依赖项:

我添加的是:

D:\libigl\build\Debug\igl.lib
D:\libigl\build\Debug\igl_opengl.lib
D:\libigl\build\Debug\igl_opengl_glfw.lib
D:\libigl\build\Debug\igl_png.lib
D:\libigl\build\Debug\glfw3.lib
opengl32.lib
D:\libigl\build\Debug\glad.lib
D:\libigl\build\Debug\igl_stb_image.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
comdlg32.lib
advapi32.lib

其中, Debug文件下下的那些lib是你的libigl.sln编译完成后才有的。如我的是编译了101、102、103、206、607后,Debug文件夹下的lib有:

如果不懂自己实验需要什么就全编译(哭泣)。

接下来放一段代码测试一下:

#include <igl/readOBJ.h>
#include <igl/opengl/glfw/Viewer.h>
#include<iostream>
#include "tutorial_shared_path.h"
Eigen::MatrixXd V;
Eigen::MatrixXi F;
int main(int argc, char* argv[])
{// Load a mesh in OBJ format//igl::readOBJ("kitten_simplified.obj", V, F);igl::readOBJ("D:\\vs\\vs实验代码\\计算机图形学\\Project9\\data\\kitten_simplified.obj", V, F);// Plot the meshigl::opengl::glfw::Viewer viewer;viewer.data().set_mesh(V, F);viewer.launch();
}

那个obj文件可以放你自己的文件,如果没有现成的,可在D:\libigl\tutorial\data文件夹下选一个使用。

结果如下:

VS2019配置libigl(吐血整理)相关推荐

  1. IntelliJ IDEA 常用设置(配置)吐血整理。首次安装必需

    idea 很强大,但是初次安装默认的有很多设置并不是满足我们开发的需要. 以前经常一安装就要捣鼓很久,为此吐血整理初次安装设置 一.切换主题(配色方案) 作用:切换自己喜欢的主题 操作:File &g ...

  2. 吐血整理《计算机网络五层协议之物理层(下)》

    吐血整理<计算机网络五层协议之物理层(上)> 吐血整理<计算机网络五层协议之物理层(中)> 绝知此事要躬行! 物理层(下篇) 1.数字传输系统 1.1PCM的基本原理 1.2 ...

  3. [转]《吐血整理》系列-顶级程序员工具集

    你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图.个人联系方式,欢迎Star和指教 前言 这期 ...

  4. 吐血整理!顶级程序员的百宝箱来咯!| 原力计划

    作者 | 敖丶丙 责编 | Elle 出品 | CSDN 博客 你知道的越多,你不知道的越多 因为读者很多还是学生,还有很多应届生,对一个需求的研发流程都不是很熟悉,还有可能对于以后自己需要使用到的工 ...

  5. 《吐血整理》顶级程序员工具集

    前言 这期是被人才群交流里,还有很多之前网友评论强行顶出来的一期,就是让我介绍自己常用的一些工具给他们安利一下,我一听很高兴呀,帅丙我这么乐于奉献的人是吧. 主要是能水一篇文章就很开心,不过写下来发现 ...

  6. Hadoop安装搭建伪分布式教程(全面)吐血整理

    Hadoop安装搭建伪分布式教程(全面)吐血整理 1.安装下载虚拟机VMware 2.下载Ubuntu18.04镜像文件,并在VMware中添加虚拟机. 3.Hadoop伪分布式搭建 3.1 创建ha ...

  7. 全网最全性能优化总结!!(冰河吐血整理,建议收藏)

    大家好,我是冰河~~ 随着互联网的高速发展,互联网行业已经从IT时代慢慢步入到DT时代.对于Java程序员的要求越来越高,只是单纯的掌握CRUD以不足以胜任互联网公司的相关职位,大量招聘岗位显示:如果 ...

  8. 阿里云和腾讯云选择两个过来人的吐血整理

    阿里云服务器好还是腾讯云服务器好?作为国内头部云厂商,到了这级别很难用谁更好来形容了,无论是阿里云还是腾讯云在云服务器稳定性.可靠性方面都是不用担心的,新手站长网来详细说下阿里云好还是腾讯云好: 阿里 ...

  9. KinectV2.0 VS2019配置记录

    目录 OpenCV VS2019配置(更兼容的配置见下文) Kinect中基本的操作 兼容性较好的配置方法 基于pthread多线程实现与树莓派联动 上位机 上位机环境要求(配置inc.lib.dll ...

最新文章

  1. SSMSSH项目中 springmvc 乱码问题解决
  2. android 的unregisterReceiver报错处理
  3. C#静态变量和非静态变量的区别
  4. mysql卸载时弹框,win10卸载mysql5安装mysql8
  5. 恐怖之城(深圳)系列1---K113大巴洗劫一空
  6. linux 定时java程序,Linux操作系统上定时运行Java程序的方法
  7. html点击事件传参 php,HTML通过事件传递参数到js详解及实例
  8. APT/APT-GET常用信息
  9. python查看网络连接_python – 检查网络连接
  10. c3p0与dbcp的异同
  11. 使用DTS迁移12cR2到 dm8
  12. PMP第十三章:项目相关方管理
  13. Allwinner Tina Linux 如何打开ssh远程登录支持
  14. 图神经网络的困境,用微分几何和代数拓扑解决
  15. Python实战:导出QQ聊天记录生成词云看看你和你的女友聊了什么
  16. 微型计算机的组装步骤,微型计算机系统装配教程
  17. SpringCloud五大神兽03-Hystrix断路器(豪猪)
  18. w7提示无法关闭计算机,番茄花园windows7关闭电脑关机时提示强制关闭程序怎么办...
  19. 迁移学习 transfer learning
  20. 关于STM32的SPI外设时钟分频对应的SCK速率

热门文章

  1. 对象克隆技术----Java常用类库
  2. 利用matlab的SPM12功能核磁共振成像数据处理_Auditory fMRI data(二)
  3. 尖叫吧!2015创新中国春季峰会 880元VIP门票免费送
  4. JavaScript中绑定事件监听函数的通用方法[ addEvent() ]
  5. java 实验6 图形用户界面设计试验(2)
  6. Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tool
  7. doraemon with latex
  8. 常见网络钓鱼攻击类型
  9. w10不能访问网络计算机,win10系统无法访问局域网电脑的操作方法
  10. 【概念卡片】误判心理学(一)