利用Matlab自带工具箱生成Dll和EXE文件

标签:
matlabdeploytoolexe编译器dll校园 |
分类: Matlab |
想到后期开发需要用到matlab与vb或者其他语言进行编程操作,边想着如何利用matlab强大的功能,而又脱离其软件本身进行开发。利用DLL文件与VB混编进行开发是方法之一。
本以为是一个很简单构建过程,不过还是在不经意间浪费了两天时间。回顾整个安装过程,主要还是没有对整体进行构建,没有借鉴前人的经验啊。。。
构建过程中遇到很多问题。这里简单总结一下安装过程,顺便把Matlab生成dll文件,以及打包生成EXE文件的过程做一下介绍。
我的版本好为:MATLAB R2009a
一、生成独立可执行的程序(dll and exe文件)步骤
这里需要的注意的是,编译器路径,编译文件路径的选择,我选择的都是与Microsoft Visual C++
6.0相关的默认文件夹。在看到Done字样后,开始在Matlab中设置编译参数。
http://s16/bmiddle/4d4afb6d496f889caabbc&690
3、输入deploytool命令(其他版本可能为matcom等),出现以下界面:
http://s2/bmiddle/4d4afb6d496f7efdeb6c1&690
4、设置相关的参数。这里可以做很多操作,如图所示,最终结果可生成可供VB调用的dll文件。
http://s7/small/4d4afb6d496f7f016e9e6&690
启动deploytool后将主程序放到main function里,其他子程序放到other files里,如果有c程序,则放到c/c++ files里.加入你想要编译的m文件,(要加入到自己命名的主目录下,如果还有其他非m文件,放到other files里面)按下编译器就可以编译了.
http://s2/bmiddle/4d4afb6d496f7ff89b8b1&690
编译完成后会,就会在当前目录下生成这两个文件夹distrb src
5、编译的最终结果如下图所示.另外,进行打包操作.我选择了Matlab Compiler编译出可直接运行的EXE文件。如图所示,为调用一个m文件,运行后生成波形分解图。
打包过程中会自动将MCRInstaller.exe拷贝到distrib文件夹下,并生成一个bat文件,点击此文件,进行安装软件操作。并自动安装MCRInstaller.exe,此文件为matlab的运行环境。\distrib 下的proname_pkg.exe文件就是安装文件。
http://s2/bmiddle/4d4afb6d496f80d58ab91&690
二、 安装过程中的几个主要问题:
1、mbuild -setup编译环境的设置问题。
2、matlab的版本问题,网上有很多解决方案,但是没一个版本的解决方法是不同的,注意版本和问题一起搜索。
3、编译环境,一定要注意,VC一定要先安装好,不然设置一直会出错。
Error: An error occurred while
shelling out to mbuild (error code = 1).
Unable to build executable (specify the -v option for more
information).
??? Error using ==> mcc
Error executing mcc, return status = 1.
4、最后出现了一个小问题,系统环境变量设置的变化。
'cmd' 不是内部或外部命令,也不是可运行的程序或批处理文件。
细看错误提示,估计是环境变量的问题(由于某些原因,环境变量可能被改变或者丢失),于是在系统变量列表中找到变量Path,对它进行编辑,把它的值添加这个:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem