MATLAB系统命令



我正在尝试使用system命令从Matlab运行R。当我进入命令system('R'),我得到以下错误:

/usr/lib64/R/bin/exec/R:/usr/local/MATLAB/R214a/sys/os/glnxa64/libstdc++.so.6:找不到版本"CXXABI_1.3.8"(/lib64/libicuuc.so.52需要)/usr/lib64/R/bin/exec/R:/usr/local/MATLAB/R214a/sys/os/glnxa64/libstdc++.so.6:找不到版本"CXXABI_1.3.8"(/lib64/libicui18n.so.52需要)

当我在Matlab之外使用R时,它是有效的。我使用的是Linux。

答案可以在How to tell mex链接到/usr/lib中的libstdc++.so.6,而不是MATLAB目录中的那个?

从本质上讲,Matlab在从系统运行命令时使用自己版本的libstdc++.so.6,因此您必须确保系统在计算机上的默认位置使用libstdc+.so.6。

% Save library paths
MatlabPath = getenv('LD_LIBRARY_PATH');
% Make Matlab use system libraries
setenv('LD_LIBRARY_PATH',getenv('PATH'))
system( 'R' )
% Reassign old library paths
setenv('LD_LIBRARY_PATH',MatlabPath)

最新更新