Boost-MPI HelloWorld编译问题

时间:2012-08-27 21:50:12

标签: libstdc++ boost-mpi

编辑:已解决,错误的加速设置/ facepalm

我一直在尝试在旧系统/群集上安装boost-mpi。

安装boost并使用bjam --with-mpi之后,我尝试编译boost-mpi设置教程附带的hello_world示例。 我用mpic ++为bjam提供了mpi-autoconfig,当我使用以下代码编译时:

/../gnu/bin/mpic++ -I/home/user/boost_1_51_0 communicator.cpp -lstdc++ -L/home/user/boost_1_51_0/stage/lib -lboost_mpi -lboost_serialization

我收到以下错误:

libboost_serialization.so: undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::_M_extract<unsigned short>(unsigned short&)@GLIBCXX_3.4.9'

所以我猜想在使用bjam构建时必须找到GLIBCXX3.4.9,但在

之后
locate libstdc++.so

我用过

"strings /path/to/libstdc++.so | grep LIBCXX" 

每个人只有3.4.8作为GLIBCXX的最新版本。

我对此问题感到困惑。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

这确实意味着libboost_serialization.so是使用较新版本的GCC编译的。

您确定没有安装其他版本吗?您的locate数据库是最新的吗? which g++显示什么?

如果将-lstdc++放在编译命令中,它会有帮助吗?由于liboost_serialization.so取决于libstdc++.so,您应该正确订购它们。