机器上安装了matlab2009a和vs2008 ,今天想要编译一个工具箱,可是在运行mex -setup是只有一个matlab自带的Lcc可选。在网上找了很久,原来是matlab在识别vs的编译器时,使用的是“version"英文,而vs08显示的版本信息是“优化编译器”五个汉字,匹配不上,所以找不到。
解决办法很简单(虽然找了很久),用记事本打开matlab/r2009a/bin/mexsetup.pm文件,找到 correc_version函数(第477行),将这个函数中的return ($version =~ /Version.$versionNumber/i);改成return ($version =~ /优化编译器.$versionNumber/i);即可。