ld:使用带有intel c ++编译器的mex编译文件时找不到-lguide

时间:2013-10-31 06:28:10

标签: matlab ubuntu compiler-errors icc

情况如下: Ubuntu 13.04,Matlab 2012a和Intel C ++ Composer XE 2013 for Linux。

我下载了一个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});

在搜索解决方案的过程中,我发现a thread表示我之前“丢失的lstdc ++”错误,这与我修复错误的方式有所不同,这是否重要?另一个提示是我在/opt/intel/目录下找不到任何名为'libguide'的文件,我该怎么办呢?

提前致谢!

1 个答案:

答案 0 :(得分:0)

Googl'ing for libguide,我发现了这个:

http://software.intel.com/en-us/forums/topic/284445

根据这一点,您正在使用的构建脚本是指旧版本的intel编译器。较新的版本似乎将libguide.so中的函数移至libiomp5.so。 因此,请尝试将-lguide替换为-liomp5

免责声明:这是纯粹的谷歌知识。就个人而言,我不知道哪个库适合:)