linux-MATLAB系统命令

提问

我正在尝试使用系统命令从Matlab运行R.当我进入
在命令system(‘R’)中,出现以下错误:

/usr/lib64/R/bin/exec/R: /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.8′ not found (required by /lib64/libicuuc.so.52)
/usr/lib64/R/bin/exec/R: /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.8′ not found (required by /lib64/libicui18n.so.52)

当我在Matlab之外使用R时,它可以工作.我正在使用Linux.

最佳答案

答案可以在How to tell mex to link with the libstdc++.so.6 in /usr/lib instead of the one in the MATLAB directory?找到

本质上,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)
评论