Matlab 2017a не распознает компилятор (ошибка при использовании mex Не найден поддерживаемый компилятор или SDK) - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь скомпилировать некоторые .cpp файлы из файлового обмена.Я установил Microsoft Visual Studio 2017 в соответствии с инструкциями здесь (то есть с фактическим компилятором C ++).

Эти компоненты установлены:

enter image description here

Когда я запускаю mex setup -v, я получаю вывод, по-видимому, указывающий на то, что некоторые вещи были найдены (до этого текста было несколько строк, в которых говорилось «ищу компилятор» ... «Нет»):

... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 14.0 ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 14.0\').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC' ...Yes.
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1' InstallationFolder ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1' InstallationFolder ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.1' InstallationFolder ...Yes ('C:\Program Files (x86)\Windows Kits\8.1\').
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 14.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 14.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 14.0 ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 14.0\').
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VC7' 14.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VC7' 14.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VC7' 14.0 ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\').
... Looking for environment variable 'VS140COMNTOOLS' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe' ...No.
Did not find installed compiler 'Microsoft Visual C++ 2015 Professional (C)'.
... Looking for compiler 'Microsoft Visual C++ 2017 (C)' ...
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 15.0 ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\VisualStudio\SxS\VS7' 15.0 ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7' 15.0 ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\').
... Executing command 'set "vcroot=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"&for /f "delims= " %a in ('type "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt"') do @if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\%a\bin\HostX64\x64\cl.exe" call echo %vcroot%' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio\2017\Community').
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0' InstallationFolder ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0' InstallationFolder ...No.
... Looking for registry setting 'HKLM\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0' InstallationFolder ...No.
... Looking for registry setting 'HKCU\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0' InstallationFolder ...No.
Did not find installed compiler 'Microsoft Visual C++ 2017 (C)'.

Обратите внимание, что есть несколько строк, заканчивающихся на «да», где он находит каталоги, которые использует Visual Studio.Но затем он заканчивается этой ошибкой, которая говорит о том, что компилятор не найден:

Error using mex
No supported compiler or SDK was found.

Очевидно, с этим связаны две ошибки ( 1 , 2 ) и яприменил эти исправления.Но тогда все равно я получаю ту же ошибку.Как мне заставить matlab распознавать компилятор ?!Это сводит с ума.

Эта проблема возникает с Windows 10, Matlab 2017a и Visual Studio 2017 Community, которые должны быть совместимы в соответствии с здесь .Кто-нибудь знает, как заставить это работать?

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

1 Ответ

0 голосов
/ 25 мая 2018

Хорошо, поэтому ответом было установить оба этих компонента Visual Studio:

  • Windows 10 SDK (необходимо получить версию, соответствующую вашим окнам!)

  • VC ++ 2017 v141 tools

В дополнение к этому исправлению:

Трудно найти эту информацию, надеюсь, это поможет людям.

...