与 mcc error & mbuild -setup settings for R2013b & deploytool for matlab 相关的问题

relating issues with mcc error & mbuild -setup settings for R2013b & deploytool for matlab

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

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

mbuild -setup

并且我把Visual studio2013作为编译目录。 但是 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' 'class{Class1:C:\Program
Files\MATLAB\R2013b\work\mymagic.m}' 

Test checkout of feature 'Compiler' failed.

mcc failed.

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

!mcc returns 低于错误

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".. 

但是许可证('checkout','Compiler') 给了我

ans = 1

我发现 matlab R2013b 在 Visual Studio 2012 年之前支持的一件事。 从下方 url。 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

可能缺少编译器许可证。

"mcc" matlab 中的命令不起作用。

所以我会在下面跟进

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

还是全部失败

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

我们可以做 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
  1. 安装 MATLAB MCR 命令

mcrinstaller

在 matlab 中

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

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

  1. 允许 VBA 中来自 Excel

  2. 安全中心的宏
  3. 使用 Matlab 的 deploytool 创建 VBA ADD IN