2013-01-02 34 views
2

我的Matlab编码器在上次使用时(这是2个月前)构建的东西很好,但现在当我尝试使用它编译项目时,出现以下错误:使用Matlab编码器构建奇怪的Matlab错误

\>> coder -build get_scores.prj  
Warning: 'perl: warning: Setting locale failed.  
perl: warning: Please check that your locale settings:  
LC_ALL = "en_GB",  
LANG = (unset)  
are supported and installed on your system.  
perl: warning: Falling back to the standard locale ("C").  
VSINSTALLDIR'  
exceeds MATLAB's maximum name length of 63 characters and has been truncated to  
'perl: warning: Setting locale failed.  
perl: warning: Please che'.  
\> In CompilerConfigurationFactory>CompilerConfigurationFactory.determineLocation at 275  
In CompilerConfigurationFactory>CompilerConfigurationFactory.process at 130  
In getCompilerConfigurations at 56  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\private\compilerman.p>parse_opts_file at 57  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\private\compilerman.p>compilerman at 15  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\private\emlckernel.p>emlckernel/getCompilerName at 148  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\private\emlckernel.p>emlckernel/finalizeProject at 711  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\private\emlckernel.p>emlckernel at 36  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\private\codeProject.p>codeProject/doit at 8  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\private\codeProject.p>codeProject at 13  
In C:\Program Files\MATLAB\R2011b\toolbox\coder\coder\emlcprivate.p>emlcprivate at 18  
The current MEX compiler '`<unknown>`' is not supported.  
Use mex -setup to select a supported compiler.  
Use help codegen for more information on using this command.  

我已经运行了几次mex -setup,选择了Visual Studio(这是我以前使用过的并且工作正常),并重新运行Build命令,但同样的错误反复出现。此外,该部分“超过MATLAB的最大名称长度为63个字符,并已被截断”似乎说Matlab是以某种方式将Perl警告解释为一些变量名称 - 我不知道那里发生了什么。

我不知道为什么Perl的警告会出现 - LC_ALL先前未设置,现在是en_GB,但同样的错误以任何方式出现。

任何步骤来纠正这将不胜感激。

回答

1

好吧,在仔细查看消息后,我猜想Matlab正试图在内部使用Perl获取变量名VSINSTALLDIR,并且警告消息将其抛出。我尝试在命令行上运行Perl以确认警告也出现在那里。然后,当搜索方法来解决语言环境错误(Googling仅为linux和Mac系统提供解决方案)时,我发现了一种简单地禁止this page上的Perl警告的方法。完成之后,上述错误消失了。

+0

我会建议你接受你自己的答案,否则问题将保持开放。 –