Parallel Boost Graph Library简单示例未正确链接

时间:2017-09-26 14:40:04

标签: c++ boost mpi

我真的需要一些帮助来运行我的第一个Parallel Boost Graph Library示例。

现在我正试图使用​​这个:https://github.com/boostorg/graph_parallel/blob/master/example/dijkstra_shortest_paths.cpp

问题始于分布式图形创建:

Graph g(reader.begin(), reader.end(), reader.weight_begin(),
          reader.num_vertices());

如果我删除它和以下代码,一切都编译得很好。如果我添加这个字符串 - 很多错误,比如

boost::enable_if<boost::mpi::is_mpi_datatype<unsigned long>, void>::type boost::graph::distributed::send_oob<unsigned long>(boost::graph::distributed::mpi_process_group const&, int, int, unsigned long const&, int) in cc6AGjMu.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status 
只是压倒了我。我在此处提供的完整错误列表:https://pastebin.com/post.php <- errors there

我有最新的升级版本1.65.1(我也尝试了1_64,1_55,以及其他一些具有相同结果的版本)。我也尝试在两个不同的系统上使用它:我的mac os笔记本电脑和我的大学超级计算机(所有东西,例如MPI,都正确设置)。

我使用以下命令编译示例文件:

mpic++ -fopenmp -O3 -std=c++11 -fpermissive -I boost_1_65_1/ PBGL_test.cpp -o  PBGL_test -lboost_mpi -lboost_serialization -lboost_system 

PBGL_test.cpp是我上面链接的示例文件。

我理解,很可能,我忘了链接一些重要的库,但我不知道究竟是哪一个,我无法在网络上找到解决方案或类似的问题。

如果有任何想法我需要链接的其他内容,或者有一个PBGL分布图使用的实例(使用makefile或只是如何编译它们的说明) - 请将它们链接到这里。

提前谢谢!

0 个答案:

没有答案