2014-10-17 4 views
4

Я обновил свой MATLAB до 2014b (на OS X 10.10) и попытался проверить некоторые старые коды MEX C/C++.MATLAB больше не поддерживает пользовательскую конфигурацию MEX?

Как обычно, я запускаю mex -setup из окна команд, и я ожидаю, что вам будет предоставлена ​​возможность перезаписать файл параметров «meshopt.sh».

Но теперь, кажется, MATLAB сделал некоторые изменения, и я не разрешается изменять конфигурацию MEX, он просто говорит:

MEX настроен на использование Xcode с Clang для языка C компиляции
. ..
выбрать другой язык, выберите один из следующих

mex -setup C++ 
mex -setup FORTRAN 

Итак, это правда, что старые способы изменить «mexopts. sh "больше невозможно?

+0

Вы всегда можете проверить, есть ли файл в каталоге 'mex' вашего дистрибутива MATLAB после того, как вы выбрали одну из этих настроек, затем измените файл таким образом .... но если это серьезно, тогда это плачущий позор. Я не буду обновляться до 2014b! – rayryeng

+0

Я все еще на R2014a, поэтому я не могу проверить себя, но можете ли вы попробовать что-то вроде 'mex -f my_mexopts.sh ...' где 'my_mexopts.sh' - файл конфигурации из предыдущих версий? – Amro

+0

@Amro: «Указано недопустимое имя файла опций». – lorniper

ответ

1

Похоже, что следующая команда работает:

mex -setup my_mexopts.sh 

однако, есть некоторые предупреждающая информация,

Наследие MEX инфраструктура для обеспечения совместимости; он будет удален в будущей версии MATLAB.

Кроме того, все выглядит отлично, за исключением того, что во время компиляции я получил некоторое предупреждение из-за версии компилятора (gcc 4.9.1) в моей текущей системе (OS X 10.10).

НКУ: предупреждение: не мог понять kern.osversion '14 .0.0

1

Когда я бегу mex -setup C, я вижу информацию, как следующее:

Microsoft Visual C++ 2008 (C) mex -setup:H:\MATLAB\R2014b\bin\win64\mexopts\msvc2008.xml C 
Microsoft Visual C++ 2010 (C) mex -setup:H:\MATLAB\R2014b\bin\win64\mexopts\msvc2010.xml C 
Microsoft Visual C++ 2012 (C) mex -setup:H:\MATLAB\R2014b\bin\win64\mexopts\msvc2012.xml C 

mex часть на самом деле ссылку вы можете щелкнуть, чтобы выбрать эту конфигурацию. Итак, чтобы сделать это:

  1. Выберите xml в качестве шаблона и скопируйте его. (например, я бы скопировал H:\MATLAB\R2014b\bin\win64\mexopts\msvc2012.xml в %AppData%\MathWorks\MATLAB\R2014b\mex_C++_win64_custom.xml).
  2. Внесите изменения в файл XML, вероятно, в <vars> tag (например, изменить COMPFLAGS или CFLAGS любой переменной имеет параметры компилятора) или <env> тег (например PATH, INCLUDE, LIB и т.д.)
  3. Установить, что текущая конфигурация:

    mex -setup:C:\[YourMATLABAppDataHere]\myCopts.xml C 
    

Обратите внимание, что хорошее место в Windows, чтобы сохранить настройки под %APPDATA%. Для MATLAB R2014b это будет что-то вроде C:\Users\[yourname]\AppData\Roaming\MathWorks\MATLAB\R2014b.

Сделайте то же самое для конфигураций C++ или FORTRAN.