VS2019配置libigl(吐血整理)

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

下载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 mesh
    igl::opengl::glfw::Viewer viewer;
    viewer.data().set_mesh(V, F);
    viewer.launch();
}

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

结果如下:
在这里插入图片描述

  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值