Matlab ld:使用带“英特尔c+”的mex编译文件时找不到-lguide+;编译程序

Matlab ld:使用带“英特尔c+”的mex编译文件时找不到-lguide+;编译程序,matlab,ubuntu,compiler-errors,icc,Matlab,Ubuntu,Compiler Errors,Icc,情况如下: Ubuntu 13.04、Matlab 2012A和英特尔C++编写器XE 2013为Linux。p> 我下载了一个matlab代码归档,并按照其中的说明编译.cpp文件。以前,当我安装完Matlab 2012a并启动它时,出现了一些错误消息,我用谷歌搜索出了一个答案,它是: sudo ln-s/lib/x86_64-linux-gnu/libc.so.6/lib64/libc.so.6 然后出现了另一条错误消息,它告诉我‘缺少lstdc++’,当我开始编译时,重新安装g++的想法首

情况如下: Ubuntu 13.04、Matlab 2012A和英特尔C++编写器XE 2013为Linux。p> 我下载了一个matlab代码归档,并按照其中的说明编译.cpp文件。以前,当我安装完Matlab 2012a并启动它时,出现了一些错误消息,我用谷歌搜索出了一个答案,它是:

sudo ln-s/lib/x86_64-linux-gnu/libc.so.6/lib64/libc.so.6

然后出现了另一条错误消息,它告诉我‘缺少lstdc++’,当我开始编译时,重新安装g++的想法首先出现在我的脑海中,然后错误消息消失了。然而,最后我发现了一个错误,我在任何地方都找不到答案:

>> compilemex
ld: cannot find -lguide
mex: link of ' "max_pool.mexa64"' failed.
Error using mex (line 206)
Unable to complete successfully.
Error in compilemex (line 20)
eval(exec_string{1});
在寻找解决方案的过程中,我发现我以前的“缺失的lstdc++”错误与我修复它时所做的不同,这是否重要?另一个提示是,我在
/opt/intel/
目录下找不到任何名为“libguide”的文件,如何修复它


提前谢谢

搜索libguide,我发现:

根据这一点,您使用的构建脚本引用了旧版本的英特尔编译器。较新版本似乎具有libguide.so中的函数,因此移动到
libiomp5.so
。 因此,尝试用
-liomp5
替换
-lguide

免责声明:这是纯谷歌知识。就我个人而言,我不知道这两个图书馆有什么好处:)