我是靠谱客的博主 爱笑小笼包,最近开发中收集的这篇文章主要介绍VS2017使用C++创建matlab的mexw64库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.打开VS,新建项目,选择MFC DLL

2.配置项目属性

  • C/C++ -> Additional Include Dirrctories 包含目录, 添加MATLAB安装目录下的externinclude路径
  • Linker -> General -> Additional Library Directories 库目录, 添加MATLAB安装路径下的externlibwin64microsoft
  • Linker -> Input -> Additional Dependencies 附加依赖项,添加libmx.lib;libmex.lib;libmat.lib;

3.创建编辑输出函数
在源文件的路径下新建.def的文件,在文件内写入

EXPORTS mexFunction

在项目属性页的Linker->Input->Module Definition File内加入创建的***.def文件。

另外,更改Configuration Properties->General->Target Extension内容.mexw64

4.编写MEX文件
MEX文件编写要求与MATLAB内的一致。

5.VS编译MEX
编写完成后进行BUILD,没有错误在源码上一级的x64文件夹中的Debugw中会生成MATALB MEX类型的输出文件,可以在MATLAB环境下进行验证。模板如下:

#include "mex.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
    int iSwitch = mxGetScalar(prhs[0]);

//通过判断prhs[0]传入的参数判断需要做的内容
    switch (iSwitch)
    {
    case 0:
        break;
    case 1:
        break;
    case 2:
        break;
    default:
      break;
    }
}

6:编译完成后可在matlab中运行验证

同时,如果需要进行mexw64文件的调试,则需要先运行matlab,然后在vs中选择调试->附加到进程中选中matlab,之后在matlab上运行相关的*.m文件即可进入断点。

最后

以上就是爱笑小笼包为你收集整理的VS2017使用C++创建matlab的mexw64库的全部内容,希望文章能够帮你解决VS2017使用C++创建matlab的mexw64库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(24)

评论列表共有 0 条评论

立即
投稿
返回
顶部