将matlab的.m文件编译成dll的步骤:
本文只介绍使用deploytool工具编译的方法
- 键入deploytool命令,打开deploytool工具
选择第三个选项“Library Compiler"
左上角选择"C++ Shared Library",旁边”Add exported functions"右边点击加号添加要导出的函数,可以添加多个
添加了.m函数后,最右边的"Package"变为绿色可选状态,点击它就可以生成dll了
2 vs调用方法
本文采用vs2015,dll采用显示调用方式(主要是嫌麻烦,只要一个dll,不用.h和.lib文件。)
- 新建一个调用dll的测试控制台项目
- 包含matlab 与c++的接口sdk
库目录添加:..\MATLAB\R2017a\extern\lib\win64\microsoft
链接器-输入-附加依赖项,添加以下几个lib
mclmcr.lib
mclmcrrt.lib
libmx.lib
libmex.lib
libmat.lib
libeng.lib
测试主函数
用deploytool生成dll时,也会生成.h文件,里面有用到的函数声明
如果要使用某个函数,先调用初始化函数(.h文件里面有它的声明),再调用你的功能函数
具体见下面的测试函数,这个是一个图像处理函数,哈哈