与 R2013b 的 mcc 错误和 mbuild -setup 设置和 matlab 的部署工具相关的问题

Posted

技术标签:

【中文标题】与 R2013b 的 mcc 错误和 mbuild -setup 设置和 matlab 的部署工具相关的问题【英文标题】:relating issues with mcc error & mbuild -setup settings for R2013b & deploytool for matlab 【发布时间】:2015-07-24 05:01:14 【问题描述】:

我尝试使用 matlab 中的“deploytool”在 matlab 中为 vba 制作 dll。 我的环境是 Matlab R2013b 和 VS2013。

我使用下面的命令来设置编译器

mbuild -setup

我把 Visual Studio 2013 作为编译器目录。 但是 deploytool 失败并显示以下消息。

ant:
<ant>
  <mkdir dir="C:\Program Files\MATLAB\R2013b\work\mymagic\for_redistribution" />
  <mkdir dir="C:\Program Files\MATLAB\R2013b\work\mymagic\for_testing" />

mcc -W 'excel:mymagic,Class1,1.0' -T link:lib -b -d 'C:\Program       
Files\MATLAB\R2013b\work\mymagic\for_testing' -v 'C:\Program    
Files\MATLAB\R2013b\work\mymagic.m' 'classClass1:C:\Program
Files\MATLAB\R2013b\work\mymagic.m' 

Test checkout of feature 'Compiler' failed.

mcc failed.

我还检查了其他类似讨论中的 lincese 问题。 使用 !mcc 和 license('checkout','Compiler')

!mcc 返回以下错误

Error: Could not check out a Compiler license: 
Cannot find license file. 
 The license files (or license server system network addresses) attempted are  
listed below.  Use LM_LICENSE_FILE to use a different license file, 
 or contact your software provider for a license file. 
Feature:       Compiler 
Filename:      C:\Program Files\MATLAB\R2013b\licenses 
License path:      C:\Users\****1505\AppData\Roaming\MathWorks\MATLAB\R2013b_licenses;C:\Program Files\MATLAB\R2013b\licenses\license.dat;C:\Program Files\MATLAB\R2013b\licenses; 
FLEXnet Licensing error:-1,359.  System Error: 2 "No such file or directory" 
For further information, refer to the FLEXnet Licensing documentation, 
available at "www.flexerasoftware.com".. 

但是 license('checkout','Compiler') 给了我

ans = 1

我发现在 Visual Studio 2012 之前 matlab R2013b 支持的一件事。 从下面的网址。 http://kr.mathworks.com/support/compilers/R2013b/index.html?sec=win32

我应该安装 2012 VS 以在 Matlab 2013 中使用 mcc 吗?

或者有没有其他方法可以解决这个问题 ?

类似的问题也没有得到正确答案。

Deploytool for MATLAB R2013b doesn't work, what has changed?


我会尝试以下方法

http://de.mathworks.com/matlabcentral/answers/121413-error-using-mcc-test-checkout-of-feature-compiler-failed

可能缺少编译器许可。

matlab 中的“mcc”命令不起作用。

所以我会在下面跟进

www.youtube.com/watch?v=PsKQ7loWZgU


还是不行

首先,matlab中的“mcc”命令不起作用 所以,我再次尝试“mbuild -setup”,但它仍然给出相同的错误消息。

这里的问题是,正如我在问题中已经提到的,Matlab 2013b 无法与 Visual Studio 2013 相比。

所以我在下面的站点下载了 SDK7 和 .net framework 4

https://msdn.microsoft.com/ko-kr/vstudio/aa496123

https://www.microsoft.com/en-us/download/confirmation.aspx?id=8442

但是在“mbuild -setup”中选择这些选项并没有解决

我也尝试下载另一个包

https://www.microsoft.com/ko-kr/download/details.aspx?id=40784

还是失败了

【问题讨论】:

【参考方案1】:

这不是一个准确的答案,只是对这个问题有用的 cmets。

我们可以做 3 件事来检查我们的 matlab 编译器许可证

license('checkout','Compiler')
!mcc
mcc

我认为如果我们可以通过这些检查,那么我们可以毫无问题地使用 deploytool。

在我的情况下,激活许可证后它会给我一个错误,例如,

Error: Could not check out a Compiler license: 
SIGN= keyword required but missing from the license certificate. 
 This is probably because the license is older than the application 
 You need to obtain a SIGN= version of this license from your vendor. 
Feature:       Compiler 
Missing:       SIGN1= 
License path:      C:\Users\****1505\AppData\Roaming\MathWorks\MATLAB\R2013b_licenses;C:\Program Files\MATLAB\R2013b\licenses\license.dat;C:\Program Files\MATLAB\R2013b\licenses\license_****1505-PC_874166_R2013b.lic; 
FLEXnet Licensing error:-114,582 
For further information, refer to the FLEXnet Licensing documentation, 
available at "www.flexerasoftware.com"..

所以我可能需要更新我的许可证来解决这个问题。


我只是将 Matlab 2013 更改为 2014 版本。一切顺利

另外,我认为错误的原因是许可证问题。


安装 matlab 2014 后,我做了以下 3 件事来为 vba 制作 dll

    安装 MATLAB MCR 命令

mcrinstaller

在matlab中

安装生成的文件。就我而言,它位于

C:\Program Files\MATLAB\R2014a\toolbox\compiler\deploy\win32\MCRInstaller.exe

    允许来自 Excel 安全中心的 VBA 中的宏

    使用 Matlab 的 deploytool 创建 VBA ADD IN

【讨论】:

以上是关于与 R2013b 的 mcc 错误和 mbuild -setup 设置和 matlab 的部署工具相关的问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 R2013b MATLAB 版本时出现 SVM 错误

使用 .NET 依赖项和封装数据的枚举构建 dll 时,mcc 编译器“Depfun 错误”

MATLAB mbuild -setup 编译器问题

未找到命令 MCC

linux机器R2013a中的mcc -mv

Ubuntu14.04安装Matlab R2013b