【C#】VS2015调用Matlab2016a生成的dll文件
系统环境:
- 用于生成dll文件的电脑:VS2015专业版,Matlab2016a,均为64位
- 用于调用dll文件的电脑:VS2015社区版,64位
生成dll文件
这部分网上教程非常多,可以参考:[MATLAB]将.m文件生成dll文件。
主要注意的几点:
- visual studio要安装专业版,详见官方System Requirements and Supported Compilers。
- VS安装时,自定义功能时要选择“适用于Visual C++2015的公共工具”和“Visual Studio扩展性工具”。
- Matlab要是已经**状态。
首次生成的步骤分3步(后面再生成只需要用deploytool
):
- Matlab的命令行窗口输入
mbuild -setup
; - Matlab的命令行窗口输入
mex -setup C++
; - Matlab的命令行窗口输入
deploytool
,选择Library Compiler
。
调用dll
主要也是平台匹配的问题:
- VS2015的安装需要选择“适用于Visual C++2015的公共工具”和“Visual Studio扩展性工具”。(调用可以用社区版的VS,生成只能用专业版)
- 添加导出的dll文件和MWArray.dll(C:\ProgramFiles\MATLAB\R2016a\toolbox\dotnetbuilder\bin\win64\v2.0)的引用;
- 工程文件的首行添加如下信息
using MathWorks.MATLAB.NET.Utility;
using MathWorks.MATLAB.NET.Arrays;
using matlab_class;
- VS2015的“属性——>生成——>目标平台” 选择
x64
VS2015的参考安装项如下