C++调用Matlab引擎及Eigen配置

时间:2022-10-26 20:06:20

这个周开始要着手实现网格水印的代码了,虽然还什么都不会,但也只能一步步摸索着往前走了。

我要实现的论文题目是<<Watermarking 3D Polygonal Meshes in the Mesh Spectral Domain>>,之前的博客中有过这篇论文的理论分析,看起来貌似不难,但动手实现起来的时候还是挺困难的。首先要解决的问题就是配置实验环境。

一开始我打算用Eigen对拉普拉斯矩阵进行特征值分解,因此就涉及到Eigen的配置。Eigen是一个开源的矩阵运算库,里面封装了大量的矩阵操作,直接调用非常简单,其配置也很简单。

一、配置Eigen

  1. 下载Eigen
  2. 解压
  3. 在项目中包含Eigen目录,具体操作如下图

右键单击项目,选择属性,在VC++目录下,在包含目录中将Eigen的目录包含进去即可。

C++调用Matlab引擎及Eigen配置

二、配置matlab

1、添加包含目录

在C/C++下选择常规,在附件包含目录中添加Matlab安装位置下的extern/include和extern/include/win32

C++调用Matlab引擎及Eigen配置

C++调用Matlab引擎及Eigen配置

2、添加库

在库管理器下选择常规,在附加依赖项中添加libeng.lib, libmx.lib和libmat.lib

C++调用Matlab引擎及Eigen配置

C++调用Matlab引擎及Eigen配置

然后在附件库目录中添加matlab安装位置下的extern/lib/win32/microsoft

C++调用Matlab引擎及Eigen配置

C++调用Matlab引擎及Eigen配置

3、如果在调用引擎过程中遇到如下问题(计算机中丢失libeng.dll),在在系统变量中包含路径F:\Matlab_32\bin\win32即可

C++调用Matlab引擎及Eigen配置