我已将MATLAB升级到2014b(在OS X 10.10上),并尝试测试一些旧的MEX C / C ++代码。
像往常一样,我从命令窗口运行mex -setup
,我希望有机会覆盖选项文件" meshopt.sh"。
但是现在,似乎MATLAB已经做了一些改变,我不允许改变MEX配置,只是说:
MEX配置为使用Xcode和Clang进行C语言编译,
中选择一种语言
...
要选择其他语言,请从以下mex -setup C++ mex -setup FORTRAN
那么,修改旧方法" mexopts.sh"是真的吗?不再可行吗?
答案 0 :(得分:1)
似乎以下命令有效:
mex -setup my_mexopts.sh
但是,有一些警告信息,
提供旧版MEX基础架构以实现兼容性;它将在未来的MATLAB版本中删除。
除此之外,一切看起来都很好,除了我在编译时得到一些警告似乎是由于我当前系统(OS X 10.10)上的编译器版本(gcc 4.9.1)。
gcc:警告:无法理解kern.osversion' 14.0.0
答案 1 :(得分: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
部分实际上是您可以单击以选择该配置的链接。所以,制作自己的:
H:\MATLAB\R2014b\bin\win64\mexopts\msvc2012.xml
复制到%AppData%\MathWorks\MATLAB\R2014b\mex_C++_win64_custom.xml
)。<vars> tag
中(例如修改COMPFLAGS
或CFLAGS
任何变量包含您的编译器选项)或<env>
标记(例如PATH
,INCLUDE
,LIB
等。)将其设置为当前配置:
mex -setup:C:\[YourMATLABAppDataHere]\myCopts.xml C
请注意,Windows中保存设置的好地方是%APPDATA%
。对于MATLAB R2014b,这可能类似于C:\Users\[yourname]\AppData\Roaming\MathWorks\MATLAB\R2014b
。
对C ++或FORTRAN配置也这样做。