Matlab部署工具,Microsoft编译器

Matlab部署工具,Microsoft编译器,matlab,compiler-construction,mex,Matlab,Compiler Construction,Mex,我想知道哪个文件是我的Microsoft编译器。我需要它来编译一些Matlab代码。通过运行mex-setupmex可以在以下目录中找到编译器:d:\Program Files(x86)\Microsoft Visual Studio 10.0,但是当我在那里浏览时,没有可能是实际编译器的文件。 我想构建我的应用程序,但它不起作用,看起来Matlab确实找到了编译器,但我得到了一个错误(code=53)一个错误发生在向mbuild输出时 因此,我当时的猜测是,我必须进入Deployment to

我想知道哪个文件是我的Microsoft编译器。我需要它来编译一些Matlab代码。通过运行
mex-setup
mex可以在以下目录中找到编译器:
d:\Program Files(x86)\Microsoft Visual Studio 10.0
,但是当我在那里浏览时,没有可能是实际编译器的文件。 我想构建我的应用程序,但它不起作用,看起来Matlab确实找到了编译器,但我得到了一个错误(code=53)
一个错误发生在向mbuild输出时
因此,我当时的猜测是,我必须进入Deployment tool设置并添加一些选项,如编译器目录(即使我已经使用mex设置了它),但在
d:\Program Files(x86)\Microsoft Visual Studio 10.0
中找不到它,我甚至不知道编译器的名称。
在这件事上我真的需要帮助。谢谢

对于
mex-setup
要正确工作,您不需要知道实际的编译器调用了什么。当我运行
mex-setup
时,我会得到如下列表:

Select a compiler: 
[1] Intel C++ 12.0 (with Microsoft Visual C++ 2010 linker) in C:\Program Files (x86)\Intel\ComposerXE-2011 
[2] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2010 linker) in C:\Program Files (x86)\Intel\ComposerXE-2011 
[3] Microsoft Visual C++ 2010 in C:\Program Files (x86)\Microsoft Visual Studio 10.0 

[0] None 
如果我选择
[3]
,信息输出包括以下行

Trying to update options file: D:\Users\my.name\AppData\Roaming\MathWorks\MATLAB\R2012a\mexopts.bat 
From template:              C:\PROGRA~1\MATLAB\R2012a\bin\win64\mexopts\msvc100opts.bat 
如果您检查这些文件中的任何一个,您将发现编译器的名称(它被称为
cl.exe
,并且在Matlab建议它查找的目录下有几个不同的版本)被指定为脚本变量
compiler
的值。您还可以找到
mex
将代码编译成mex文件时使用的所有设置。您可以根据此信息诊断其他问题


如果您无法使用此“帮助”解决您的问题,请编辑它并精确解释错误消息和
mex-setup
的要正确工作您不需要知道实际的编译器是什么。当我运行
mex-setup
时,我会得到如下列表:

Select a compiler: 
[1] Intel C++ 12.0 (with Microsoft Visual C++ 2010 linker) in C:\Program Files (x86)\Intel\ComposerXE-2011 
[2] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2010 linker) in C:\Program Files (x86)\Intel\ComposerXE-2011 
[3] Microsoft Visual C++ 2010 in C:\Program Files (x86)\Microsoft Visual Studio 10.0 

[0] None 
如果我选择
[3]
,信息输出包括以下行

Trying to update options file: D:\Users\my.name\AppData\Roaming\MathWorks\MATLAB\R2012a\mexopts.bat 
From template:              C:\PROGRA~1\MATLAB\R2012a\bin\win64\mexopts\msvc100opts.bat 
如果您检查这些文件中的任何一个,您将发现编译器的名称(它被称为
cl.exe
,并且在Matlab建议它查找的目录下有几个不同的版本)被指定为脚本变量
compiler
的值。您还可以找到
mex
将代码编译成mex文件时使用的所有设置。您可以根据此信息诊断其他问题


如果您无法使用此“帮助”解决问题,请编辑此“帮助”,并准确解释错误消息。

感谢您提供的有用信息。我终于成功地构建了我的应用程序;我的Matlab版本是2010.a,已知它与MSVC2010有问题。我在这里尝试了可用的补丁,但看起来还不够,至少在部署工具上是这样!Matlab 2011已成功构建。感谢您提供这些有用的信息。我终于成功地构建了我的应用程序;我的Matlab版本是2010.a,已知它与MSVC2010有问题。我在这里尝试了可用的补丁,但看起来还不够,至少在部署工具上是这样!使用Matlab2011成功构建。a