matlab与C++混合编程 matlab发布、打包DLL

本文主要讲述将matlab编写好的m函数导出成dll,以供C++程序调用。使用matlab命令手动打包和matlab工具箱中deploytool的使用。写本文的主要原因是,在项目过程中遇到一个棘手问题:项目使用了vlfeat库,而vlfeat是c编写的,只是提供matlab接口。那么如可将项目中使用的库一并打包,就成了一个问题,在多方查找和各种尝试之后,记录下自己的经验,以供遇到类似问题的人作参考。

一、使用matlab命令打包

这种方式打包,分三步走:
1:在matlab中选择compiler。
在命令行窗口输入:mex -setup

 Select a compiler: 
[1] Microsoft Visual C++ 2010 in D:\devtool\Microsoft Visual Studio 10.0 

[0] None 
%%这里编译器会列出系统已经安装的编译器,可以选择适合的编译器。

2:选择builder.

输入:mbuild -setup

    %%类似上一步

3:生成dll。

输入:mcc -W cpplib:mydll -T link:lib test.m

上面的指令(从mcc指令集中其实也可以很容易查到这条指令的意思)中cpplib:mydll中的mydll是自己要保存的dll,lib等文件的文件名,link:lib test.m中的test.m是你的m函数的文件名。

二、使用图形界面工具箱——depl

相关推荐
1本光盘的程序是《MATLAB7.xC/C++混合编程》配套的源程序,请对照该书使用。 2本程序的调试环境为Windows XP sp2 + Matlab 7.3.0.267(R2006b),第11章程序在Matlab6.5下调试通过。 3MATLAB的安装目录为D:\Program Files\MATLAB以及D:\MATLAB6p5p1,如果您的MATLAB安装目录本程序不一致,应在工程设置中修改目录路径。修改方法见《MATLAB7.xC/C++混合编程》的相关章节。 4源程序章节对应关系参见代码目录表。 代码目录表 ch2_MatlabBase……………………………………………………………………第2章代码 ch4_engDemo…………..…………………………………………………………第4章代码 EngDemo1…………..………………………………………………………4.3.1节代码 EngDemo2…………..………………………………………………………4.3.2节代码 ch5_matDemo…………..…………………………………………………………第5章代码 MatDemo…………..………………………………………………………...5.4.1节代码 MatDemoNet……..………………………………………………………....5.4.2节代码 ch6_MexDemo………....………………………………………………….……...第6章代码 mexdemo1…...6.5.1节代码——vc6.0通过 Win32 Dynamic-Link Library创建MEX程序 mexdemo2…...6.5.1节代码——vc6.0通过MFC APPWizard(DLL)静态链接库创建MEX程序 mexdemo3……6.5.1节代码——vc6.0通过扩展MFC动态链接库创建MEX程序 MexDemoNet1……6.5.2节代码——vc.net通过MFC APPWizard(DLL)静态链接库创建MEX程序时 MexDemoNet2……6.5.2节代码——vc.net通过扩展MFC动态链接库创建MEX程序 ch7_ComDemo……………………………………………………………………第7章代码 COM…………………………………………………………………7.3.1节例7.1代码 COMDemo1…………………………………………………………7.3.1节例7.1代码 COMDemo2…………………………………………………………7.3.1节例7.2代码 COMDemoNet1………………………………………………………7.3.2节例7.3代码 ch8_mccDemo……………………………………………………………………...第8章代码 MCCDemo……………………………………………………………8.3.1节例8.1代码 mccDemo1VC………………………………………………………...8.3.1节例8.1代码 MCCDemo2……………………………………………………….......8.3.2节例8.2代码 MccDemo2VC…………………………………………………….......8.3.2节例8.2代码 MccDemo3……………………………………………………............8.3.3节例8.3代码 MccDemo3VC…………………………………………………….......8.3.3节例8.3代码 MccDemo4……………………………………………………............8.3.4节例8.4代码 MccDemo4VC…………………………………………………….......8.3.4节例8.4代码 ch9_MidevaDemo…………………………………………………….....................第9章代码 Mideva……………………………………………………......................9.4节例9.1代码 MidevaDemo……………………………………………………............9.4节例9.1代码 ch10_ActiveXDemo……………………………………………………...............第10章代码 ActiveX…………………………………………………….................10.2节例10.1代码 ActiveXDemo…………………………………………………….......10.3节例10.2代码 ActiveXDemo2…………………………………………………….....10.3节例10.3代码 ch11_MatlabAdd-in…………………………………………………….................第11章代码 Addin Demo……………………………………………………..........11.3节例11.1代码 ch12_SARProcessor……………………………………………………................第12章代码 SARImgProcess……………………………………………………...........综合实例代码
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页