首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boost-MPI HelloWorld编译问题

Boost-MPI HelloWorld编译问题
EN

Stack Overflow用户
提问于 2012-08-28 05:50:12
回答 1查看 150关注 0票数 0

编辑:已解决,不正确的boost设置/facepalm

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

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

代码语言:javascript
复制
/../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

我收到以下错误:

代码语言:javascript
复制
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'

所以我猜测GLIBCXX3.4.9一定是在使用bjam构建时找到的,但是在

代码语言:javascript
复制
locate libstdc++.so

我用过

代码语言:javascript
复制
"strings /path/to/libstdc++.so | grep LIBCXX" 

而且每个版本都只有3.4.8作为最新版本的GLIBCXX。

我对这个问题感到相当困惑。如有任何帮助,我们不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2012-08-28 08:00:16

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

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

如果将-lstdc++放在编译命令的最后,会有帮助吗?由于liboost_serialization.so依赖于libstdc++.so,因此您应该正确地对它们进行排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12150091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档