MatLab не может распознать Visual C ++ 2010 redistirbutable, ошибка компилятора

Я переустановил распространяемый С ++, перезагрузился, поискал в Интернете, прочитал файлы справки, я не знаю, что делать.

Matlab Coder говорит:

Отчет о проверке: Microsoft Visual C ++ 2010 v10.0 | nmake (32-битная Windows): Toolchain не установлен.

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

Помогите, пожалуйста. mex: Обнаружен установленный компилятор Microsoft Windows SDK 7.1 (C ++). MEX настроен на использование Microsoft Windows SDK 7.1 (C ++) для компиляции языка C ++.

Предупреждение: файл setup_mssdk71.bat не найден.

В coder.make.ToolchainInfo / configureToolchain / configureProperty (строка 2382)

Компилятор прерывает работу и сообщает мне, что LCC является компилятором Matlab по умолчанию, если я хочу скомпилировать C, мне придется отменить параметр C ++.

>> mex -setup c++ -v
Verbose mode is on.
... Looking for compiler 'Intel C++ Composer XE 2011 with Microsoft SDK 7.1' ...
... Looking for environment variable 'ICPP_COMPILER12' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2011 with Microsoft SDK 7.1'.
... Looking for compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2008' ...
... Looking for environment variable 'ICPP_COMPILER12' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2008'.
... Looking for compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2010 ' ...
... Looking for environment variable 'ICPP_COMPILER12' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2011 with Microsoft Visual Studio 2010 '.
... Looking for compiler 'Intel C++ Composer XE 2013 with Microsoft SDK 7.1' ...
... Looking for environment variable 'ICPP_COMPILER14' ...No.
... Looking for environment variable 'ICPP_COMPILER13' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft SDK 7.1'.
... Looking for compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2010' ...
... Looking for environment variable 'ICPP_COMPILER14' ...No.
... Looking for environment variable 'ICPP_COMPILER13' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2010'.
... Looking for compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012' ...
... Looking for environment variable 'ICPP_COMPILER14' ...No.
... Looking for environment variable 'ICPP_COMPILER13' ...No.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012'.
... Looking for compiler 'Microsoft Visual C++ 2008 Professional' ...
... Looking for environment variable 'VS90COMNTOOLS' ...No.
Did not find installed compiler 'Microsoft Visual C++ 2008 Professional'.
... Looking for compiler 'Microsoft Visual C++ 2010 Professional' ...
... Looking for environment variable 'VS100COMNTOOLS' ...Yes ('C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\').
... Looking for file 'C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files\Microsoft Visual Studio 10.0' ...Yes.
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A' InstallationFolder ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A' InstallationFolder ...No.
Did not find installed compiler 'Microsoft Visual C++ 2010 Professional'.
... Looking for compiler 'Microsoft Visual C++ 2012' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 11.0 ...No.
Did not find installed compiler 'Microsoft Visual C++ 2012'.
... Looking for compiler 'Microsoft Visual C++ 2013 Professional' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 12.0 ...No.
Did not find installed compiler 'Microsoft Visual C++ 2013 Professional'.
... Looking for compiler 'Microsoft Windows SDK 7.1 (C++)' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1' InstallationFolder ...Yes ('C:\Program Files\Microsoft SDKs\Windows\v7.1\').
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7' 10.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VC7' 10.0 ...Yes ('C:\Program Files\Microsoft Visual Studio 10.0\VC\').
... Looking for file 'C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files\Microsoft Visual Studio 10.0' ...Yes.
Found installed compiler 'Microsoft Windows SDK 7.1 (C++)'.
... Looking for compiler 'Microsoft Windows SDK 7.1 (C++)' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1' InstallationFolder ...Yes ('C:\Program Files\Microsoft SDKs\Windows\v7.1\').
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7' 10.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VC7' 10.0 ...Yes ('C:\Program Files\Microsoft Visual Studio 10.0\VC\').
... Looking for file 'C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files\Microsoft Visual Studio 10.0' ...Yes.
Found installed compiler 'Microsoft Windows SDK 7.1 (C++)'.
MEX configured to use 'Microsoft Windows SDK 7.1 (C++)' for C++ language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
     variables with more than 2^32-1 elements. In the near future
     you will be required to update your code to utilize the
     new API. You can find more information about this at:
     http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

person DeltaEnfieldWaid    schedule 04.07.2015    source источник
comment
Какая версия Matlab? У вас есть профессиональная версия Visual C ++? Установлен ли SP1 для Visual C ++?   -  person Daniel    schedule 04.07.2015
comment
Это версия 2015a, у меня есть c ++ sdk для x86 win7 и распространяемая версия c ++ 8,9,10,12 2010 и 2013. Я посмотрю на sp1, спасибо.   -  person DeltaEnfieldWaid    schedule 04.07.2015
comment
У меня не установлена ​​визуальная студия, я хочу иметь версию некоторого кода на C ++ в качестве ссылки для преобразования в C #, только sdk и redist.   -  person DeltaEnfieldWaid    schedule 04.07.2015


Ответы (2)


Вы установили распространяемый компонент Visual C ++, это не компилятор. Вам нужен Visual C ++ или один из других поддерживаемых компиляторов.

Ознакомьтесь с документацией к вашей версии Matlab, чтобы получить полный список, Windows sdk 7.1, вероятно, лучший выбор.

person Daniel    schedule 04.07.2015
comment
Спасибо, используя mex -setup, matlab заявляет, что он нашел sdk 7.1, и позволяет мне выбрать его в качестве компилятора, но во время компиляции v7.1 находится в программных файлах / microsoft sdks / windows, когда я его установил, я взял удалите и переустановите распространяемый пакет 2010 и 2013, который был выпущен после версии 7.1. Я попытался заставить его увидеть распространяемый С ++ 2008, но он его тоже не видит. - person DeltaEnfieldWaid; 04.07.2015
comment
Я только что попытался проверить версию 7.1, там написано: Отчет о валидации для: Microsoft Windows SDK v7.1 | nmake (32-разрядная Windows) ### Проверка других инструментов сборки ... Невозможно найти инструмент сборки Компилятор Microsoft Visual C: cl Невозможно найти инструмент сборки Microsoft Visual C Linker: ссылка Невозможно найти инструмент сборки Компилятор Microsoft Visual C ++: cl Невозможно найти инструмент сборки Microsoft Visual C ++ Linker: ссылка Невозможно найти инструмент сборки Microsoft Visual C / C ++ Archiver: lib - person DeltaEnfieldWaid; 04.07.2015
comment
Я должен вернуться к раннему сообщению, которое я видел, о регистрации mssdk в переменных окружения. - person DeltaEnfieldWaid; 04.07.2015
comment
также есть предупреждение: файл setup_mssdk71.bat не найден. ›В coder.make.ToolchainInfo / configureToolchain / configureProperty (строка 2382) - person DeltaEnfieldWaid; 04.07.2015
comment
Вы снова пишете о распространяемом Visual C ++. Это не компилятор, Matlab не может использовать распространяемый компонент. - person Daniel; 05.07.2015
comment
SDK требует .net framework 4. Похоже ли, что, установив элементы SDK 7.1 и .NET framework десятки раз, я что-то пропустил? За все эти часы устранения этой проблемы вы были бы великолепны, если бы действительно смогли найти решение. Здесь они делают вид, будто вы можете использовать другие продукты Microsoft, например, с компилятором nmake из 4.0: fr.mathworks.com/support/compilers/R2015a/ - person DeltaEnfieldWaid; 05.07.2015
comment
Я, кстати, не отмечал тебя. в исходном вопросе содержится подробная настройка mex: Найден установленный компилятор Microsoft Windows SDK 7.1 (C ++). - person DeltaEnfieldWaid; 05.07.2015

В конце концов, у меня все заработало.

После установки десятка раз я установил сначала dotNetFx40_Full_x86_x64.exe и выиграл SDK для версии 4, и я перезагрузился, и он работал ... тем временем я также установил компилятор composer XE, который тоже работал, я не знаю, перезаписал ли он некоторые проблемы с реестром, но они были исправлены после установки этих 3.

person DeltaEnfieldWaid    schedule 07.07.2015