Кажется, это все еще проблема, не имеющая прямого решения. Мне потребовалось много поисков, чтения, проб и ошибок, чтобы компилятор распознавался mex.
Короче говоря, Matlab 2013 не поддерживает Windows 8 SDK, но Windows 7 SDK не устанавливается (легко) в Windows 8.
Что сработало для меня:
Win7 SDK не устанавливается в Windows 8, поскольку более поздние версии распространяемого пакета Visual C++ 2010 уже установлены по умолчанию в Windows 8. Вам необходимо вручную (из панели управления/программ/удаления...) удалить все варианты Распространяемый компонент VC++2010 (x86 и x64).
Подробнее о том, как это сделать, см. в этой статье Microsoft.
После этого я смог установить SDK для win7 и заставить компилятор распознаваться mex.
Примечание:
Я работаю на 32-битной Win8, поэтому то, что сработало для меня, может не подойти всем. Во время моих поисков по теме я также заметил, что многие люди часто натыкались на 2 другие неудачи:
Во время установки Win 7 SDK .NET 4 не устанавливается. => Это связано с тем, что .net4.5 уже поставляется в Windows 8. Опять же, удалите .net4.5, а затем переустановите win7 SDK. (можно даже переустановить .net4.5 при необходимости после того, как все будет сделано).
После того, как все установлено и mex успешно нашел компилятор, во время компиляции возникает ошибка, связанная с отсутствующим ammintrin.h
. Возможно, вам придется установить MS Visual Studio C++ 2010 Express, а затем обновить его до SP1. В этом случае следуйте подробным инструкциям в этом Центральная статья о Matlab.
Эта последняя связанная статья, кажется, предлагает полное решение, я не упомянул ее в своем ответе, потому что в некоторых случаях (например, в моем случае) была необходима только часть описанной установки, поэтому не было смысла удалять/переустанавливать куча вещей. Но будьте готовы, что вам, возможно, придется пройти через все это...
person
Hoki
schedule
13.09.2014