声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 6993|回复: 18

[综合讨论] 如何将多个m文件编译成可用exe

[复制链接]
发表于 2006-9-15 16:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
最近做了一个gui的小程序,有好几个m文件,而且不全是函数文件

单个函数文件编译成exe文件我已实现,但是调用别的文件是会报错
有没有解决方法呢?

望赐教

希望大家多交流~:@D
回复
分享到:

使用道具 举报

发表于 2006-9-15 17:26 | 显示全部楼层
不能回答你的问题,问个问题:
单个m文件的怎么编译成exe文件?编译成exe文件后有多大好处,除了可以脱离matlab环境运行外? 没有这方面的体验。
发表于 2006-9-15 18:24 | 显示全部楼层
原帖由 心灯 于 2006-9-15 17:26 发表
不能回答你的问题,问个问题:
单个m文件的怎么编译成exe文件?编译成exe文件后有多大好处,除了可以脱离matlab环境运行外? 没有这方面的体验。



这个我也不懂,想问问楼主,呵呵。另外,我使用!filename.m后没有发现有filename.exe生成,不知道是何缘故?
发表于 2006-9-15 18:37 | 显示全部楼层
原帖由 eight 于 2006-9-15 18:24 发表



这个我也不懂,想问问楼主,呵呵。另外,我使用!filename.m后没有发现有filename.exe生成,不知道是何缘故?


搜索了一下紫丁香matlab版,转载如下,搂主应该也是这么做的吧?



发信人: friendchj (冬春夏秋), 信区: Matlab
标  题: 把matlab中的gui转化为.exe的问题
发信站: BBS 哈工大紫丁香站 (Wed Jul 12 11:25:21 2006)

[方法来自研学论坛-matlab/maple/mathematica版,我已试过,可行]
运行
mcc -B sgl GUI.m
生成exe文件
运行/extern/lib/wen32/mglinstallar.exe解压出matlab数学库和图形库
最后将生成的exe文件放到解压出来的bin\win32文件夹里,之后即使把文件拷到另一台计
算机上,exe文件也能运行。


[ 本帖最后由 心灯 于 2006-9-15 18:38 编辑 ]
发表于 2006-9-15 19:29 | 显示全部楼层
原帖由 心灯 于 2006-9-15 18:37 发表


搜索了一下紫丁香matlab版,转载如下,搂主应该也是这么做的吧?



发信人: friendchj (冬春夏秋), 信区: Matlab
标  题: 把matlab中的gui转化为.exe的问题
发信站: BBS 哈工大紫丁香站 (Wed Jul 12 1 ...


如果是7.0以上版本,则不用那么复杂,先运行mcc -B sgl GUI.m 生成exe文件,把GUI.exe文件和GUI.ctf文件拷贝到目标电脑上,然后在目标电脑上安装 MCRInstaller.exe 就可以了,MCRInstaller.exe在源电脑以下地方可以找到:<matlab path>\toolbox\compiler\deploy\win32\MCRInstaller.exe

评分

1

查看全部评分

发表于 2006-9-15 20:04 | 显示全部楼层
那如果在没有安装matlab的电脑上运行生成的exe文件的话,会不会像VB等生成的exe那样需要一些dll等文件阿?
发表于 2006-9-15 20:07 | 显示全部楼层
原帖由 xinyuxf 于 2006-9-15 20:04 发表
那如果在没有安装matlab的电脑上运行生成的exe文件的话,会不会像VB等生成的exe那样需要一些dll等文件阿?



我们讨论的就是脱离matlab的运行方法啊!当然不用安装matlab
发表于 2006-9-15 21:03 | 显示全部楼层
奥,好像明白了,运行exe之前还是需要别的东西的,比如安装 MCRInstaller.exe是吧?
发表于 2006-9-15 21:14 | 显示全部楼层
哦,对了,这个采用了mcc函数,是不是把程序运行速度给提高上去了?如果是的话,可以考虑这么运行程序代替运行m文件哦
发表于 2006-9-15 21:21 | 显示全部楼层
原帖由 心灯 于 2006-9-15 21:14 发表
哦,对了,这个采用了mcc函数,是不是把程序运行速度给提高上去了?如果是的话,可以考虑这么运行程序代替运行m文件哦



应该不行,我刚才试了一下,不过两台电脑配置不同,呵呵
发表于 2006-9-15 21:55 | 显示全部楼层
哦,对了,这个采用了mcc函数,是不是把程序运行速度给提高上去了?如果是的话,可以考虑这么运行程序代替运行m文件哦

不会提高运行速度,MathWorks提供mcc,貌似是为了easy for deployment of matlab applications, but not for performance.
那如果在没有安装matlab的电脑上运行生成的exe文件的话,会不会像VB等生成的exe那样需要一些dll等文件阿?

用MCRINSTALLER打包做好了
http://www.simwe.com/forum/thread-73018-1-1.html
gui的打包以前有一些讨论,自己一直感兴趣很想试试,不过目前只有一台电脑,等过一段时间买了本本之后也要研究一下

评分

1

查看全部评分

发表于 2006-9-15 22:51 | 显示全部楼层
我以前试了一下,生成exe后速度没有什么明显提高啊。当时很是失望。
后来别人用混编好像提高了我源程序的速度。
发表于 2006-9-16 10:22 | 显示全部楼层
原帖由 toes 于 2006-9-15 22:51 发表
我以前试了一下,生成exe后速度没有什么明显提高啊。当时很是失望。
后来别人用混编好像提高了我源程序的速度。


正解。exe只是为了可以打包在没有安装matlab的电脑上面运行,并非解决速度问题。混编才是提高速度的王道
发表于 2006-9-16 12:17 | 显示全部楼层
[[size=-2]size=4]
原帖由 心灯 于 2006-9-15 18:37 发表


搜索了一下紫丁香matlab版,转载如下,搂主应该也是这么做的吧?



发信人: friendchj (冬春夏秋), 信区: Matlab
标  题: 把matlab中的gui转化为.exe的问题
发信站: BBS 哈工大紫丁香站 (Wed Jul 12 1 ...


我按你说的做,不行啊,总是出错。
  
错误如下:
Warning: No matching builtin function available for D:\MATLAB7\toolbox\simulink\simulink\set_param.bi



Select a compiler:
[1] Lcc C version 2.4 in D:\MATLAB7\sys\lcc

[0] None

Compiler: [1]

  mbuild: No compiler selected. No action taken.


  D:\MATLAB7\BIN\WIN32\MEX.PL: Error: No compiler options file could be found to compile source code. Please run "mbuild -setup" to rectify.

??? Error using ==> mbuild
Unable to complete successfully

??? Error: An error occurred while shelling out to mbuild (error code = 1).
Unable to build executable (specify the -v option for more information).
发表于 2006-9-16 12:20 | 显示全部楼层
eight(八) ,你好,我按你说的做,总是不行啊。我的QQ:360533393 能单独向你请教吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 22:21 , Processed in 0.069159 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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