Bootstrap

[填坑]VS2017与MATLAB2016b混合编程(生成dll方式)

MATLAB 生成 dll 前的工作

1、配置MATLAB环境

控制面板->所有控制面板项->系统->高级系统设置->高级->环境变量

Path一栏,后面追加:C:\ProgramFiles\MATLAB\R2016b\bin\win64      (32位为win32)

更改环境变量后,请重启电脑,否则VS将出现:LINK : fatal error LNK1104: 无法打开文件“libeng.lib”

2、配置MATLAB中的C++编译器

在这里需要安装一个Patch,否则无法使用

详细原因参考:win10系统使用vs2017 community作为matlab2016b编译器

https://blog.csdn.net/liuyingying0418/article/details/79767572

 

然后使用mex -setup 设置matlab的默认编译器,如果要生成C++语言的dll,点击mex -setup C++

详细请参考链接:C/C++ VS中调用matlab函数的方法  (版本不同,操作类似)

http://blog.csdn.net/guyuealian/article/details/73743654

 

3、使用matlab生成dll

有两种方法,一种直接使用指令,一种是使用matlab的附加功能app

使用指令生成dll

如:mcc -W cpplib:TestMat64 -T link:lib Test

对应生成如下文件:

这里我们只关心 TestMat64.dll  TestMat64.h  TestMat64.lib三个文件

详细参考链接:VS2015调用Matlab编译生成的DLL 编译环境设置 [吐血整理]

https://blog.csdn.net/weixin_41760829/article/details/79389685

使用matlab

;