Хобрук: Ваш путь к мастерству в программировании

компилятор для функционального блока Matlab R2011b

Я пытаюсь использовать блок MATLAB Function в R2011b. Когда я пытаюсь запустить свою программу, я получаю следующую ошибку:

Невозможно найти C-компилятор, требуемый блоками Stateflow и MATLAB Function.

Используйте 'mex -setup' для выбора поддерживаемого C-компилятора.

Когда я пытаюсь выполнить mex -setup, я получаю следующий вывод:

>> mex -setup
 
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/R2011b/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 Visual C++ 2008 SP1 linker) 
[2] Intel C++ 12.0 (with Microsoft Visual C++ 2010 linker) 
[3] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker) 
[4] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2008 SP1 linker) 
[5] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2008 Shell linker) 
[6] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2010 linker) 
[7] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker) 
[8] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker) 
[9] Microsoft Software Development Kit (SDK) 7.1 
[10] Microsoft Visual C++ 2005 SP1 
[11] Microsoft Visual C++ 2008 SP1 
[12] Microsoft Visual C++ 2010 
[13] Microsoft Visual C++ 2010 Express 
 
[0] None 
 
Compiler: 1
 
Warning: The default location for Intel C++ compiler is: 
         "C:\Program Files (x86)\Intel\ComposerXE-2011" 
         but either that directory does not exist or the configuration 
         is invalid. 
 
Use C:\Program Files (x86)\Intel\ComposerXE-2011 anyway [y]/n? y
 
Please verify your choices: 
 
Compiler: Intel C++ 12.0 
Location: C:\Program Files (x86)\Intel\ComposerXE-2011 
 
Are these correct [y]/n? y
 
Error: Microsoft Visual Studio 2008 SP1 Professional Edition was not found 
       by mex -setup. 
       The Microsoft Visual Studio 2008 SP1 Professional Edition linker is 
       required to build Intel C++ MEX-files.  Please make sure that 
       Microsoft Visual Studio 2008 SP1 Professional Edition is installed 
       properly. 
 
 
Error using mex (line 206)
Unable to complete successfully.

Какой бы компилятор я ни выбрал, я получаю ту же ошибку. Какой компилятор мне нужно выбрать, или есть другая проблема?


  • Одна вещь, которую вам нужно сделать, это позволить MEX найти ваши действующие компиляторы. При выборе Нет (n) просто перечисляются все возможные компиляторы, известные для Windows. Выберите «Да» (y) и сообщите нам, какие компиляторы на самом деле установлены. 09.06.2014
  • говорит: «На этом компьютере не найден поддерживаемый SDK или компилятор». 09.06.2014

Ответы:


1

Изучив ваши комментарии, сначала мы попросили вас выбрать вариант да, чтобы узнать, установлены ли на вашем компьютере какие-либо допустимые компиляторы. Вы выбрали это, и он не может найти никаких допустимых компиляторов. Таким образом, на вашем компьютере не установлены компиляторы.

Обычно, если вы хотите скомпилировать MEX-файлы в Windows, вам нужен компилятор Microsoft Visual Studio, позволяющий это сделать. Чтобы получить это, у меня есть четыре решения для вас в зависимости от того, что вам доступно:

  1. Если вы учитесь в высшем учебном заведении, попробуйте перейти на Microsoft DreamSpark: https://www.dreamspark.com/Product/Product.aspx?productid=72&cmpid=W_VS_DSV_DS_728x90_ENG . У вашего учреждения может быть соглашение с Microsoft, и вы сможете бесплатно загрузить Microsoft Visual Studio. Ввиду того, как вы используете MATLAB R2011, поддерживается поддержка до Visual Studio 2010. Поэтому убедитесь, что вы выбрали 2010 в качестве версии.
  2. Вы можете попробовать 90-дневную пробную версию Microsoft Visual Studio на случай, если (1) вам не подходит: http://www.visualstudio.com/
  3. Вы можете купить Microsoft Visual Studio, если (1) вам не подходит — используйте ссылку в (2)
  4. Используйте Microsoft Visual Studio Express (это БЕСПЛАТНО) — http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#DownloadFamilies_4 . Убедитесь, что вы выбрали Visual C++ 2010 Express. По сути, это урезанная версия Microsoft Visual Studio. Я не уверен, что доступно в этом дистрибутиве, но большая часть функций, доступных в полной версии Microsoft Visual Studio, присутствует. Я знаю, что это полностью совместимо с MATLAB R2011, поэтому у вас не должно возникнуть проблем с его запуском. Я подозреваю, что вы, вероятно, будете использовать этот подход, и это совершенно нормально. Вам также необходимо загрузить Windows SDK: http://www.microsoft.com/en-us/download/details.aspx?id=8279

Удачи!

09.06.2014
  • @Адити Добро пожаловать. Дайте мне знать, если вы запустите MEX. Оставьте комментарий здесь, когда вы доберетесь до него. 09.06.2014
  • Новые материалы

    Мой процесс подачи заявки в Школе программного обеспечения и дизайна Тьюринга
    Мой последний пост на Medium был в конце августа, и в нем я пообещал написать еще раз, рассказывая историю моего процесса подачи заявки в Школу программного обеспечения и дизайна Тьюринга ...

    Генерация ваших собственных удивительных QR-кодов с использованием Python
    QR-код (код быстрого ответа) — это разновидность матричных штрих-кодов (или двумерных штрих-кодов), изобретенных в 1994 году японской автомобильной компанией Denso Wave . Штрих-код —..

    Прогресс в технологии Трансформеров часть 3
    Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

    Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
    Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

    Приключения в Javascript, часть 1
    Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

    Понимание дженериков в TypeScript: подробное руководство
    Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..