Я на Windows Vista
и хочу использовать MATLAB
для компиляции C++
функций. У меня в системе был только lcc compiler
, как видно при запуске 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/R2011a/win32.html
Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2011a\sys\lcc
[0] None
Compiler:
поскольку lcc не работает для C++, я установил Windows SDK 7.1 с здесь(сайт Windows). Я запустил Windows SDK 7.1 Command Prompt
, чтобы увидеть каталог, в который он установлен, и увидеть C:\Program Files\Microsoft SDKs\Windows\v7.1
. Затем я снова запускаю mex -setup
, чтобы установить для компилятора значение Microsoft Visual C++ 2010
, указав mex
не находить установленные компиляторы, я выбираю параметр Microsoft Visual C++ 2010
, а затем MATLAB по умолчанию ищет путь для Visual Studio
; C:\Program Files\Microsoft Visual Studio 10.0
. Я пытаюсь переопределить его, но там это не работает. Вот точные действия:
>> 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/R2011a/win32.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++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[2] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[3] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker)
[4] Lcc-win32 C 2.4.1
[5] Microsoft Visual C++ 6.0
[6] Microsoft Visual C++ 2005 SP1
[7] Microsoft Visual C++ 2008 SP1
[8] Microsoft Visual C++ 2010
[9] Microsoft Visual C++ 2010 Express
[10] Open WATCOM C++
[0] None
Compiler: 8
Warning: The default location for Microsoft Visual C++ 2010 compiler is:
"C:\Program Files\Microsoft Visual Studio 10.0"
but either that directory does not exist or the configuration
is invalid.
Use C:\Program Files\Microsoft Visual Studio 10.0 anyway [y]/n? n
Please enter the location of your compiler: [C:\Program Files\Microsoft Visual Studio 10.0]
C:\Program Files\Microsoft SDKs\Windows\v7.1
Please verify your choices:
Compiler: Microsoft Visual C++ 2010
Location: C:\Program Files\Microsoft Visual Studio 10.0
Are these correct [y]/n?
*****************************************************************************
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 at 208
Unable to complete successfully.
Я не знаю, должен ли каталог отличаться от C:\Program Files\Microsoft SDKs\Windows\v7.1
, и есть ли способ идентифицировать этот каталог. Я также не знаю, правильный ли способ, которым я даю каталог. Я попытался использовать одинарные кавычки вокруг имени каталога, и единственный вариант заключается в том, что он останавливается, чтобы спросить меня, правильный ли каталог для визуальной студии или нет, я отвечаю n, и дается только это.
Compiler: Microsoft Visual C++ 2010
Location: C:\Program Files\Microsoft Visual Studio 10.0
Are these correct [y]/n? n
mex: No compiler selected. No action taken.
Как я могу добавить компилятор в MATLAB, чтобы иметь возможность запускать mex в функциях/файлах С++?