У меня возникает ряд проблем с компиляцией файлов с использованием mex на matlab r2011a в Mac OS 10.9.2. Я знаю, что мне нужно иметь флаг компилятора -std=gnu++11
, чтобы все работало. Я обновил файл mexopts.sh(~/.matlab/r2011a/mexopts.sh), чтобы в CXXFLAGS был добавлен необходимый флаг. Однако он не работает.
Если я посмотрю на конфигурацию компилятора:
cc = mex.getcompilerconfigurations('c++')
cc.details.CompilerFlags
не связаны со значением, которое находится в mexopts.sh. Вероятно, поэтому все не работает.
Любые идеи о том, как исправить это, чтобы конфигурация компилятора фактически отражала файл mexopts.sh?
Поэтому я понял это. Мне просто не хватало факта, что в mexopts.sh есть много разных машинно-зависимых разделов. Хотя, я должен признать, что поскольку mex не поддерживает кросс-компиляцию, насколько я могу судить, тогда Mathworks действительно должен обрезать mexopts.sh во время настройки, чтобы отображать только настройки для компьютера, на котором он установлен.
Мне просто нужно прокрутить вниз до раздела с надписью maci64)
и отредактировать настройки там. Я добавил соответствующий флаг (-std=gnu++11
) в переменную CXXFLAGS
, и он работает!
mex -setup
и снова выбрать компилятор после внесения изменений?