MATLAB系统命令

时间:2015-02-11 17:40:56

标签: linux r matlab

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

  

/ usr / lib64 / R / bin / exec / R:/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6:版本号`CXXABI_1.3.8'找不到(/lib64/libicuuc.so.52要求)   / usr / lib64 / R / bin / exec / R:/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6:版本号`CXXABI_1.3.8'未找到(/lib64/libicui18n.so.52要求)

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

1 个答案:

答案 0 :(得分:4)

答案可以在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)