Matlab部署工具,Microsoft编译器

时间:2012-08-27 13:45:32

标签: matlab compiler-construction mex

我想知道哪个特定文件是我的Microsoft编译器。我需要它来编译一些Matlab代码。通过运行mex -setup mex能够在以下目录中找到编译器:d:\Program Files (x86)\Microsoft Visual Studio 10.0但是当我在那里浏览时,没有可能是实际编译器的文件。 我想构建我的应用程序,但它不起作用,看起来像Matlab确实找到了编译器,但是我得到了一个错误(代码= 53)An error occurred while shelling out to mbuild 所以我的猜测是我必须进入Deployement工具设置并添加一些选项,如编译器目录(即使我已经用mex设置它),但我在d:\Program Files (x86)\Microsoft Visual Studio 10.0我找不到它甚至知道编译器的名称是什么。 我真的需要帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

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文件时使用的所有设置。您可以从此信息中诊断出其余问题。

如果您无法使用此“帮助”解决问题,请对其进行编辑并准确说明错误消息并