matlab带UI界面编译成可执行文件问题汇总

**********************************mcc全部直接无法使用

我是下载的matlabR2014a

然后出现mcc无法使用(即,随便一个 file.m进行编译成可执行文件 mcc -m file.m都报错)

我根据以下链接进行下载操作。成功可以编译

http://blog.csdn.net/yang6464158/article/details/46910285#comments


***********************************mcc部分功能无法使用

一个界面xjy.fig    xjy.m  以及带有空间xjy_activex1

由于我一开始的jdk版本是1.8然后带有黑框的编译出错,只有界面模式的编译成功-有警告但是部分空间失效出现

带有黑框的编译成可执行文件

mcc -m xjy.m -a xjy_activex1     
> In path at 33
In requirements at 156 
boost::filesystem::remove: 拒绝访问。
错误使用 mcc
Error executing mcc, return status = 1 (0x1). 

我本来的电脑是有1.8JDK和1.8jre
设置的是JAVA_HOME,当初做软工JAVAEE设置的
matlab里面的自带函数一些可能调用了jar包甚么的。

编译成只有界面的可执行文件
这个情况下mcc -e  mfile.m只是出现警告,貌似是matlab自己里面库重名问题,以及提示增加path。
运行.EXE界面可以出现,
正常控件:导入保存文件正常,本机tts正常,播放控件正常,普通按钮正常,
异常控件(无响应): 然后用到的urlwrite 和urlread也是matlab 自带的,这个我看来源码,他用了jar包。用到MIDITOOL的writemidi失败,我还没有注意到这个有没有用到jar包

根据系统环境变量MATLAB_JAVA设置值写运行mcc -e编译的可执行文件.EXE会报错(如图所示),

根据图片可知,MATLAB_JAVA不可以设置分号,自动搜索路径会加上\bin\client\jvm.dll,显然运行前会搜索运行jar包的JVM。分号错!!!


根据链接建议。我又去oracle下载1.7的jdk http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR,然后安装,把原来1.8的环境变量JAVA_HOME改为1.7的

http://blog.csdn.net/yewei11/article/details/53606722#comments

mcc -m xjy.m -a  xjy_activex1 也可以编译成功,有文件命名重复警告


**********************************************运行可执行.exe(很慢,黑框出现得比较早,界面好一会儿才出来)

根据黑框可以发现,错误的地方找不到函数~~~我去,这要我把我写的引用的,间接引用的全写下来么。我可以写Makefile文件,这个写起来就麻烦了。目前是我的猜测,可能太不智能了,仅仅编译直接引用函数,部分间接引用或深层引用没有编译。

mcc这个编译语句的参数还没有完全搞懂。再挣扎看看。要是可以不用弄成可执行文件,就好了 哈哈哈哈。懂的告知一下哈。


****************************************根据黑框不断修改

期中urlencode.m我待进去没有作用,于是我把urlencode(words2)直接换成char(java.net.URLEncoder.encode(words2,'UTF-8'))

最后终版编译成可执行文件的编译命令存档(黑框测试成功,不带黑框未测试)

%% win7 下编译  matlabR2014a
%待黑框测试编译是否正确
mcc -m lrcxjy.m mdlMStrToNMat.m writeNMatToSmf.m mdlMidiToMStr.m ...
    onset.m dur.m midi2hz.m  velocity.m  pitch.m  UI_lrcChangeMelodies.m ...
    lrcvadini_vow.m  vadsohn.m estnoiseg.m estnoisem.m enframe.m rfft.m ...
    lrcttsV3.m  ...
    -a lrcxjy_activex3
%不带黑框最终版本生成
mcc -e lrcxjy.m mdlMStrToNMat.m writeNMatToSmf.m mdlMidiToMStr.m ...
    onset.m dur.m midi2hz.m  velocity.m  pitch.m  UI_lrcChangeMelodies.m ...
    lrcvadini_vow.m  vadsohn.m estnoiseg.m estnoisem.m enframe.m rfft.m ...
    lrcttsV3.m  ...
    -a lrcxjy_activex3


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值