1

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

4

1 回答 1

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 文件时使用的所有设置。您或许可以根据这些信息诊断出其余的问题。

如果您无法通过此“帮助”解决您的问题,请对其进行编辑并准确解释错误消息和

于 2012-08-27T15:03:09.127 回答