爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8387|回复: 8

[参考资料] matlab带GUI界面程序的打包发布

[复制链接]

新浪微博达人勋

发表于 2014-4-28 19:48:43 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布呢,matlab也提供了这样的工具。
1. 转化为c/c++程序并编译为.exe
先验证mcc是否可用,用matlab中的example验证即可
建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)
由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure
编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等
程序发布需要.exe、bin\、.fig
2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件
前两者已经在\matlab\extern\lib\win32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径
另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同
3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布
以下通过注册表自动添加path路径
%--------------------------------------------------------------------------------------
Screen.Next(); -- 进入下一个屏幕
resultDialog = Dialog.Message("注意", "向环境变量中加入matlab数学库及图象库的安装路径?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if (resultDialog == IDYES) then --加入安装路径
strPath = Registry.GetValue(HKEY_CURRENT_USER, "Environment", "path", true);
if strPath ~= "" then
   strPath = String.Concat(strPath, ";");
end   
strPathToAdd = SessionVar.Expand("%AppFolder%");
strPathToAdd = String.Concat(strPathToAdd,"file://MATLAB6p5//bin//win32");  
-- 如果路径中无该位置,则加入
if String.Find(strPath,strPathToAdd) == -1 then  
   strPath = String.Concat(strPath, strPathToAdd);
   Registry.SetValue(HKEY_CURRENT_USER, "Environment", "path", strPath, REG_SZ);
end
end
%--------------------------------------------------------------------------------------
来自群组: 北京师范大学地学-气象
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-28 20:45:12 | 显示全部楼层
挺想抽空用MATLAB写写exe的小程序,不过老还停在思想上了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-28 20:50:01 | 显示全部楼层
斥鷃 发表于 2014-4-28 20:45
挺想抽空用MATLAB写写exe的小程序,不过老还停在思想上了

哈哈。加油!我也在一点一点的学习matlab,越学越觉得matlab的东西博大精深。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2014-4-29 08:09:33 | 显示全部楼层
原来用过matlab试着写过小软件,感觉代码效率不高,不如c++和c#来的直接,甚至感觉还不如fortran~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-2-6 22:49:22 | 显示全部楼层
很好的帖子,自己一直想写,苦于没人指导!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-7-19 20:02:20 | 显示全部楼层
赞!!!!!!!!!!!!!!!!!!!!!!!!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2015-7-20 08:01:16 | 显示全部楼层
不错 学习了。。。。。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-8-15 16:29:29 | 显示全部楼层
收藏加学习了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-2 19:53:58 | 显示全部楼层
好东西 学习了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表