如何将Matlab7.0函数转换成VC++6.0动态链接库
1、mcc4.0编译环境设置
在桌面上右键单击“我的电脑”图标出现以下菜单
单击“属性”菜单项,出现“系统特性”对话框,单击“高级”选项卡,如下图所示
在上图中,单击“环境变量”按钮,出现“环境变量”对话框,添加系统变量matlab值为C:\\MATLAB7即matlab7.0的安装路径,如下图所示
1
在环境变量path中加入C:\\MATLAB7\\bin\\win32,如下图所示
按“确定”完成设置后,重启计算机或注销当前用户,即可应用新设置。
2、Matlab7.0编译器设置
(1) mex命令设置
2
(a)运行Matlab,在Matlab的命令窗口(Command Window)键入“mex -setup”命令后,按回车键,安装Matlab编译器;
(b) 命令窗口出现如下提示:
Please choose your compiler for building external interface (MEX) files: Would you like mex to locate installed compilers [y]/n? 此时键入”y”,按回车;
(c) 命令窗口出现如下提示:
Please choose your compiler for building external interface (MEX) files: Would you like mex to locate installed compilers [y]/n? y Select a compiler:
[1] Digital Visual Fortran version 6.0 in C:\\Program Files\\Microsoft Visual Studio [2] Lcc C version 2.4 in C:\\MATLAB6P5\\sys\\lcc
[3] Microsoft Visual C/C++ version 6.0 in C:\\Program Files\\Microsoft Visual Studio [0] None
此时键入”3”,按回车;选择Microsoft Visual C++6.0的编译器 (d) 命令窗口出现如下提示: Please verify your choices:
Compiler: Microsoft Visual C/C++ 6.0
Location: C:\\Program Files\\Microsoft Visual Studio Are these correct?([y]/n):
此时键入”y”,按回车;确认选择Microsoft Visual C++6.0的编译器 (2) mbuild命令设置
(a) 运行Matlab,在Matlab的命令窗口(Command Window)键入“mbuild -setup”命令后,按回车键,安装Matlab编译器;
(b) 命令窗口出现如下提示:
Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? 此时键入”y”,按回车;
(c) 命令窗口出现如下提示:
[1] Lcc C version 2.4 in C:\\MATLAB6P5\\sys\\lcc
[2] Microsoft Visual C/C++ version 6.0 in C:\\Program Files\\Microsoft Visual Studio [0] None
此时键入”2”,按回车;选择Microsoft Visual C++6.0的编译器 (d) 命令窗口出现如下提示: Please verify your choices:
Compiler: Microsoft Visual C/C++ 6.0
Location: C:\\Program Files\\Microsoft Visual Studio Are these correct?([y]/n):
此时键入”y”,按回车,确认选择Microsoft Visual C++6.0的编译器,编译器设置完成。
3、编写Matlab函数
函数文件sum_prod.m,内容如下: function [sum,prod] = sum_prod(p1,p2)
3
sum = p1+p2; % p1与p2的和 prod = p1.*p2; % p1与p2的点乘
该函数完成的是矩阵的求和与点乘的功能,下面将介绍把该代码转换成VC++环境可用的代码的方法。
4、将Matlab函数转成DLL函数
在Matlab7.0 的Command Window 下输入命令:
命令1:mcc -W lib:libsum_prod -T link:lib sum_prod.m –v 或
命令2:mcc -W cpplib:libsum_prod -T link:lib sum_prod.m –v
生成动态链接库DLL,编译完成后,Matlab 生成一些文件, 其中 libsum_prod.ctf libsum_prod.dll libsum_prod.h libsum_prod.lib
这些文件是我们后面需要用到的。
特别注意:命令1生成的DLL函数接口的数据类型是mxArray,命令2生成的DLL函数接口的数据类型是mwArray。
5、VC++6.0工程的创建与设置
(1) 建立一个名为Test的C++控制台工程,在工程中添加一个名为Test.cpp文件 (2) 对VC++6.0,进行以下设置 单击菜单Tools,出现如下菜单
单击Options…菜单项,出现Options对话框,选择Directories标签,在include files里面加入: C:\\MATLAB7\\EXTERN\\INCLUDE 如下图所示
4
相关推荐: