Matlab部署工具、微软编译器

问题描述 投票:0回答:1

我想知道哪个特定文件是我的 Microsoft 编译器。我需要它来编译一些 Matlab 代码。通过运行

mex -setup
mex 能够在以下目录中找到编译器:
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
中找不到它,我什至不知道知道编译器的名字是什么。 我真的需要这方面的帮助。谢谢!

matlab mex
1个回答
1
投票

为了让

mex -setup
正确工作,you 不需要知道实际的编译器叫什么。 当我运行
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 文件时使用的所有设置。 您也许可以根据这些信息诊断出您的其余问题。

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

© www.soinside.com 2019 - 2024. All rights reserved.