**********************************mcc全部直接无法使用
我是下载的matlabR2014a
然后出现mcc无法使用(即,随便一个 file.m进行编译成可执行文件 mcc -m file.m都报错)
我根据以下链接进行下载操作。成功可以编译
***********************************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的
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