情况如下:
适用于Linux的Ubuntu 13.04,Matlab 2012a和Intel C++ Composer XE 2013。
我下载了一个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”的文件,该如何解决?提前致谢!
最佳答案
Googl'ing for libguide,我发现了这一点:
http://software.intel.com/en-us/forums/topic/284445
据此,您使用的构建脚本是指intel编译器的旧版本。较新的版本似乎将libguide.so中的功能移至libiomp5.so
。
因此,尝试用-lguide
替换-liomp5
。
免责声明:这是纯Google知识。我个人不知道这两个库对什么都有好处:)
关于matlab - ld : cannot find -lguide while compiling files using mex with intel c++ compiler,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19699770/