1.配置编译环境

  在命令行窗口输入:

mbuild -setup

  如果出现以下提示信息说明成功:

  

  如果提示信息为:

错误使用mbuild(line 164)

Unable to complete successfully.

未找到支持的编译器或SDK。您可以安装免费提供的MinGW-w64 C/C++编译器;请参阅安装MinGW-w64 编译器。如需更多选项,请访问http://www.mathworks.com/support/compilers/R2017a/。

  则需要安装MinGW-w64C/C++编译器。

安装MinGW C/C++编译器

  安装完成后,matlab每次运行添加环境变量

setenv('MW_MINGW64_LOC','C:\TDM-GCC-64') %其中C:\TDM-GCC-64是TDM-GCC默认安装地址,改成自己相应的地址即可

  或者直接系统添加。

  成功后在命令行输入:

mex -setup %以C语言编译

  

  或

mex -setup C++ %以C++语言编译 

  

2.编写.m文件

    

3.用.m文件生成dll文件

     首先在命令行中输入"deploytool",成功后出现如下窗口,选择"Library Compiler "。

  

  其次在出现的MATLAB Compiler页面中在Type栏中选择".NET Assembly",在EXPORTED FUNCTIONS栏中选择自己刚刚编写的.m文件Library information这一栏填写dll文件名就可以了,Namespace这一栏可以更改ClassName(这个ClassName是在C#代码中调用该MATLAB函数时使用的,所以尽量不要使用它的默认值Class1这样没有意义的名字),并点击右上角的Package图标进行打包

    

当出现如下结果时,即为dll文件生成成功。

  

在其自动打开的文件夹中,$\for_redistribution_files_only目录下就会有生成好的dll文件

   

 值得一提的是,在$\for_testing目录下有一个刚刚定义的cs文件,与刚刚在MATLAB Compiler页面填写的ClassName同名,这个文件是用来让C#调用MATLAB函数的。

  

参考链接:

    将.m文件生成dll文件

    安装MinGW C/C++ 编译器

   MATLAB 未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器

MATLAB中.m文件生成.dll的更多相关文章

  1. matlab 中txt文件(含字符及数值)处理

    matlab 中txt文件(含字符及数值)处理 (2008-08-02 09:45:12) 转载▼ 标签: 杂谈 分类: matlab及C学习 Matlab文件操作及读txt文件ZZ 2008-07- ...

  2. 如何利用.snk文件生成DLL文件中的Publickeytoken

    1.在该路径下C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin查找是否有sn.exe. 没有的话,从网上下载,注意需要的版本. 2.打开c ...

  3. matlab中m文件与m函数的学习与理解

    1. m文件与m函数的区别 所谓 MATLAB 程序,大致分为两类: M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件. M 脚本 ...

  4. Android 中.aar文件生成方法与用法

    https://i.cnblogs.com/EditPosts.aspx?opt=1 无论是用Eclipse还是用Android Studio做android开发,都会接触到jar包,全称应该是:Ja ...

  5. VC2010 利用 def 文件生成 dll 文件的方法

    近期有个需求,要生成一个dll 文件.文件里的函数都是採用 stdcall 函数调用约定,可是不希望函数名被修饰(add 被修饰成 add@8). 这时就要用def 文件了. 比方我有以下两个函数: ...

  6. Eclipse中java文件生成jar文件的方法

    在eclpse中找到你要导出的java程序 选中它   单击文件 -->export   在弹出的export对话框中找到 jar File 单击选中-->next   按图示顺序依次 选 ...

  7. matlab中mat文件简单存/取

    >>abc=[,,,,,]; >>save data save file_name:命令可以将当前项目中变量的值保存到file_name中去,这里的data文件就是mat文件. ...

  8. MATLAB中的文件类型总结

    %   ***.m文件 : 脚本文件或者函数文件或者:%   ***.mat文件:数据存储文件(二进制文件,可以ASCII码形式保存和加载,%                类似于单行EXCEL表格) ...

  9. 获得MATLAB中FIG文件的矩阵

    在拓扑优化中,经常使用imagesc函数来显示最终的结果,往往会保存了Fig文件,却忘记保存mat文件. 根据已有的Fig文件,是可以找到其所显示矩阵.这个是我从fig数据结构中一层一层找到的,记录一 ...

随机推荐

  1. hdu 1006 Tick and Tick

    Tick and Tick Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  2. [转载]Oracle中TO_NUMBER()函数的用法

    1 用法简介TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反. To_number函数的格式如下: To_nu ...

  3. GFS(Google File System,谷歌文件系统)----(1)文件系统简介

    分布式文件系统 系统是构建在普通的.廉价的机器上,因此故障是常态而不是意外 系统希望存储的是大量的大型文件(单个文件size很大) 系统支持两种类型读操作:大量的顺序读取以及小规模的随机读取(larg ...

  4. C++:标准模板库map

    一:介绍 map是STL的关联式容器,以key-value的形式存储,以红黑树(平衡二叉查找树)作为底层数据结构,对数据有自动排序的功能. 命名空间为std,所属头文件<map> 注意:不 ...

  5. 验证码处理+cookie模拟登录

    一.背景 相关博文:https://www.jianshu.com/p/9fce799edf1e https://blog.csdn.net/h19910518/article/details/793 ...

  6. Yii2 基于header 实现接口版本控制

    Yii2 官方给出的方案是基于url的版本控制,但是我们的versoin放在header里面,需要通过header来进行版本控制,实现如下: 首先在基类中实现actions,actions是针对con ...

  7. 【BFS】Help the Princess!

    题目描述 The people of a certain kingdom make a revolution against the bad government of the princess. T ...

  8. poj 3069 继续弱鸡的贪心

    题意:给出指路石的范围,问最小需要几个指路石可以覆盖所有的军队. 题解:排序一遍,然后扫出起始区间和终止区间,就可以求出最小的覆盖数了 ac代码: #include <iostream> ...

  9. (四)网格(dataGrid)

    一.普通网格 前端index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8& ...

  10. IE浏览器 Table 兼容问题

    border篇: 直接在<tr>标签上添加 border-bottom:1px solid red;  在IE8以上浏览器有效,IE7以下版本无效   解决方案:需给<table&g ...