2013-06-03 6 views
0

У меня возникли проблемы с настройкой mex с точки зрения выбора компилятора. Я попытался установить Windows SDK 7.1, но он терпит неудачу каждый раз. Согласно форуму THIS, это потому, что у меня установлена ​​визуальная студия 10.0 (что я и делаю). Поэтому в идеале я должен был бы установить mex с этим компилятором. Но когда я пытаюсь получить следующую ошибку:mex setup для Matlab

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. 

Так что, очевидно, мне нужен SDK ??? Я попытался несколько раз удалить SDK 7.1 из microsoft, но не повезло.

Я думал, что, возможно, мне нужно вручную указать mex глубже в файловую систему визуальной студии, чтобы найти компилятор, какие-либо идеи об этом?

Я использую Windows 7 64 бит с матрицей R2012a.

Благодарим за помощь.

+1

Вы используете MATLAB 64-bit с Express Edition Visual Studio? Выпуски Express не поставляются с 64-битным компилятором (хотя, возможно, именно поэтому вы пытаетесь установить SDK?). Кроме того, в этой теме (https://www.mathworks.co.uk/matlabcentral/answers/32154) имеется много информации об этой ошибке. – wakjah

+0

Пожалуйста, загляните в [link] (http://www.mathworks.in/support/compilers/R2012a/win64.html), кроме пунктов, упомянутых @wakjah – sridutt

+0

, если вы ответите yes 'y', он должен показать список обнаруженных компиляторов в вашей системе, которые поддерживаются вашей версией MATLAB. Ответ на «нет» просто возвращает полный список всех компиляторов (установленных и не). Если у вас есть версия VS2010 Professional, то она должна включать 64-битные компиляторы по умолчанию (если вы не отключили их во время установки). Вам понадобится только SDK для Express Edition – Amro

ответ

1

Я не знаю причину этого, но так я понял.

  1. Удалить все версии Microsoft Visual C++, распространяемые с вашего компьютера.
  2. Установите Microsoft Visual C++ 2010 с пакетом обновления 1 (SP1) Обновление компилятора для Windows SDK 7.1 отсюда: https://www.microsoft.com/en-in/download/details.aspx?id=4422
  3. Попробуйте mex -setup снова.
Смежные вопросы