简体   繁体   English

Matlab的mex设置

[英]mex setup for Matlab

I am having some trouble with the mex setup in terms of selecting a compiler. 在选择编译器方面,我对mex设置有一些麻烦。 I have attempted to install windows SDK 7.1 but it fails each time. 我试图安装Windows SDK 7.1,但是每次都失败。 According to THIS forum it is because i have visual studio 10.0 installed (which I do). 根据THIS论坛,这是因为我安装了Visual Studio 10.0(我这样做)。 So ideally i should be able to set up mex with this compiler. 因此,理想情况下,我应该能够使用此编译器设置mex。 But when i try i get the following error: 但是当我尝试时,出现以下错误:

Welcome to mex -setup.  This utility will help you set up  
a default compiler.  For a list of supported compilers, see  
http://www.mathworks.com/support/compilers/R2012a/win64.html 

Please choose your compiler for building MEX-files: 

Would you like mex to locate installed compilers [y]/n? n

Select a compiler: 
[1] Intel C++ 12.0 (with Microsoft Software Development Kit (SDK) linker) 
...
[14] Microsoft Visual C++ 2010 

[0] None 

Compiler: 14

Warning: The default location for Microsoft Visual C++ 2010 compiler is: 
     "C:\Program Files (x86)\Microsoft Visual Studio 10.0" 
     but either that directory does not exist or the configuration 
     is invalid. 

***************************************************************************** 
  Error: Microsoft Visual C++ 2010 requires the Microsoft Windows Software  
     Development Kit (SDK), but the SDK cannot be found.  Examine your   
     Microsoft Visual C++ 2010 installation. 
***************************************************************************** 

Error using mex (line 206)
Unable to complete successfully.

So obviously i do need SDK??? 所以很明显我确实需要SDK? I have tried un-installing the SDK 7.1 from microsoft several times but no luck. 我曾尝试多次从Microsoft卸载SDK 7.1,但没有运气。

I have thought that maybe i need to manually point mex deeper into the visual studio file system in order to find the compiler, any ideas about that? 我以为可能需要手动将mex指向Visual Studio文件系统的更深位置才能找到编译器,对此有什么想法吗?

I am using Windows 7 64 bit with matlab R2012a. 我在Matlab R2012a上使用Windows 7 64位。

Thanks for your help. 谢谢你的帮助。

I don't know the reason for this but this is how I got it right. 我不知道这样做的原因,但这就是我正确的方法。

  1. Uninstall all versions of Microsoft Visual C++ Redistributable from your computer. 从计算机上卸载所有版本的Microsoft Visual C ++ Redistributable。
  2. Install Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1 from here: https://www.microsoft.com/en-in/download/details.aspx?id=4422 从此处安装适用于Windows SDK 7.1的Microsoft Visual C ++ 2010 Service Pack 1编译器更新: https : //www.microsoft.com/zh-cn/download/details.aspx?id=4422
  3. Try mex -setup again. 再次尝试mex -setup。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM