【发布时间】:2011-11-30 04:18:24
【问题描述】:
我正在尝试编译一个共享库,它将在 Ubuntu 11.04 上调用 MATLAB 函数。喜欢命令:
mcc - B cpplib:libStepCluster StepCluster.m
得到以下错误。
/usr/lib/i38-linux-gnu/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2010a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/libppl_c.so.2)
/usr/lib/i38-linux-gnu/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2010a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libppl_c.so.2)
/usr/lib/i38-linux-gnu/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2010a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/libppl.so.7)
/usr/lib/i38-linux-gnu/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2010a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libppl.so.7)
/usr/lib/i38-linux-gnu/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2010a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/libgmpxx.so.4)
我知道代码在 Ubuntu 10.10 上运行良好,并升级到 Ubuntu 11.04。然后问题就出来了。是什么问题以及如何在没有太多痛苦的情况下解决它?
【问题讨论】:
-
请正确格式化您的答案,这将有助于回答
-
@EricChu:看看这些讨论,如果有帮助,请告诉我们(我自己没有测试过任何解决方案):forums.opensuse.org/english/get-technical-help-here/…,bbs.archlinux.org/viewtopic.php?id=86809
-
欣赏格式...
-
其实。后来我发现了问题。 ubuntu11.04 自带 gcc-4.5,但是 MatlabR2011a 的默认编译器是 gcc-4.3.4。我搜索了一下发现Matlab2011仍然支持gcc-4.4。我下载并安装了它。使用命令 mbuild -setup 为 matlab 配置支持的 gcc-4.4。重新编译,问题就消失了。感谢您的回复。
-
@EricChu:您应该将其作为解决方案发布(接受您自己的答案是完全可以的)。顺便说一句,您可以在此处查看支持的编译器列表:mathworks.com/support/compilers/R2011b/glnxa64.html
标签: c++ matlab ubuntu mcc matlab-compiler