几个星期以来我一直坚持这个问题并一直在互联网上寻找解决方案,但到目前为止还不太好......
所以我有一个由其他人编写的程序,我尝试在Matlab中编译它以使其工作.我的电脑是Red-hat企业Linux工作站(64位),安装了gcc 4.4.3和Matlab 2011b.gcc与我的Matlab兼容(http://www.mathworks.com/support/compilers/R2011b/glnxa64.html).
编译工作正常(我的意思是,在Matlab命令窗口中没有出现错误信息).但是在编译之后,每当我使用编译中的特定函数(它的调用"mexLasso")时,它都会显示如下错误:
***无效的MEX文件'/usr/local/matlab_R2011b/toolbox/spams-matlab/build/mexLasso.mexa64':/ usr/local/matlab_R2011b/bin/glnxa64/../../sys/os/glnxa64 /libstdc++.so.6:找不到版本`GLIBCXX_3.4.11'(/usr/local/matlab_R2011b/toolbox/spams-matlab/build/mexLasso.mexa64要求)
测试错误(第24行)alpha = mexLasso(X,D,param); *
所以我在终端输入"strings /usr/lib/libstdc++.so.6 | grep GLIBC",我发现其中实际上是"GLIBCXX_3.4.11".
我一直在使用Linux和gcc的东西只有几个月......所以仍然有很多我不理解的东西.如果您能详细解释它将会有很大帮助.谢谢!!
%%更多细节:我从http://spams-devel.gforge.inria.fr/downloads.html获得了机器学习的这些程序.奇怪的是,在编译之后,该包中的其他函数工作正常(例如"mexTrainDL").