matlab 与 VC的设置

(1) 启动MATLAB,在命令窗口中运行“mex –setup”按照提示选择Microsoft Visual C++ 6.0。它将配置MEX使用Microsoft Visual C++ 6.0默认的编译器(创建C-MEX文件必需),并且安装MATLAB Add-in 所需文件到Microsoft Visual C++ 6.0目录。
(2) 在MATLAB环境下运行“mbuild –setup”,按提示选择Microsoft Visual C++ 6.0为默认的编译器(创建独立应用程序必需),并安装MATLAB Add-in 所需的MATLAB Compiler和C/C++数学库文件到Microsoft Visual C++ 6.0目录。
(3) 在MATLAB环境下运行“cd(prefdir)”和“mccsavepath”。[4.0的compiler可能不在支持mccsavepath,所以会出现未定义的错误,可以不用管,往下配置,把包含文件路径都设置好就能进行编译]。它将保存当前MATLAB路径到mccpath文件中,这是因为MATLAB Add-in 要脱离MATLAB运行,否则它无从知道MATLAB路径。
(4) 在Microsoft Visual C++ 6.0环境中配置MATLAB Add-in ,方法是:从菜单“Tools àCustomize“,选择“Add-ins and Macro Files”选项卡,选中“MATLAB Add-in”,点击“Close”。Microsoft Visual C++ 工具栏中就会出现MATLAB Add-in 图标了。以后每次启动Microsoft Visual C++ ,系统就会自动加载MATLAB Add-in 。
(5) 配置Microsoft Visual C++ 6.0的路径环境。在Microsoft Visual C++ 6.0中选择“ToolsàOptions”,选择“Directories”选项卡,在其中的“Show directories for”下拉式选项框中分别选择“Include Files”和“Library Files”,在下部的编辑框中输入以下路径:
Include Files:
%MATLAB%EXTERNINCLUDE
%MATLAB%EXTERNINCLUDECPP
Library Files:
%MATLAB%EXTERNLIBWIN32
%MATLAB%EXTERNLIBWIN32MICROSOFTMSVC60
其中%MATLAB%是MATLAB本地安装路径。假设MATLAB安装路径为D:MATLAB6p5,则用D:MATLAB6p5代替%MATLAB%。
(6) 配置Windows系统(针对于9x系统)。在Windows 95/98下,找到config.sys,添加一行:shell=c:command.com /e:32768 /p。Windows ME 的配置有所不同,需设置Conagent.exe的属性Memory选项卡的Initial Environment的值为4096。
从表面上看,接口环境的配置步骤较多,但是以上步骤只需要设置一次。除非接口环境改变,否则一旦配置好开发过程中就无需再配置。
以上设置完成后接下来的工作就很简单了。
显把你的m文件改成函数形式,例如假设你的m文件名为fuzzytest.m,则再你的m文件前加上一行:
function fuzzytest()
注意了,函数名一定要和m文件的名字一样,否则如果有参数传递的话无法传递参数。
现在我们来把m文件集成到VC当中。
启动VC,新建里选MATLAB工程向导,输入工程名字。然后确定,在接下来的设置中,对“Visual MATLAB Application Type”选择“Share M-DLL”,并选中“Use Handle Graphics”为“Yes”。其他的采用默认设置。确定完成后会提示加入m文件到该工程中,找到fuzzytest.m文件,把它加进去,系统会自动进行翻译工作。完成后直接编译dll文件就可以得到该m文件生成的dll。
之后你就可以在另外的程序中调用该dll了。但是注意的是在调用时入口函数是mlfFuzzytest,其他的以mlx开头的都无法直接调用。另外在程序的构造函数里要加上
xxxInitialize();
在构析函数里加上xxxTerminate();其中xxx是你在VC里面集成m文件时采用的工程名称。
这样程序就可以在脱离MATLAB的环境下运行并且像MATLAB那样作图。发行的时候要把MATLAB运行库连同程序一起发布。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: