促进三角洲踩踏

时间:2017-07-21 22:05:12

标签: boost graph

我正在尝试使用并行Boost图库运行Delta Stepping算法,但它不能编译。能帮忙吗?

#include <boost/graph/use_mpi.hpp>
#include <boost/graph/distributed/mpi_process_group.hpp>
#include <boost/graph/dijkstra_shortest_paths.hpp>
#include <boost/graph/distributed/delta_stepping_shortest_paths.hpp>
#include <boost/graph/distributed/adjacency_list.hpp>
#include <boost/graph/metis.hpp>
#include <boost/graph/distributed/graphviz.hpp>
#include <boost/property_map/property_map.hpp>
#include <fstream>
#include <string>

#ifdef BOOST_NO_EXCEPTIONS
    void
boost::throw_exception(std::exception const& ex)
{
    std::cout << ex.what() << std::endl;
    abort();
}
#endif

using namespace boost;
using boost::graph::distributed::mpi_process_group;

/* An undirected, weighted graph with distance values stored on the
   vertices. */
typedef adjacency_list<vecS, distributedS<mpi_process_group, vecS>, undirectedS,
        /*Vertex properties=*/property<vertex_distance_t, float>,
        /*Edge properties=*/property<edge_weight_t, float> >
        Graph;

        int main(int argc, char *argv[]) {
            boost::mpi::environment env(argc, argv);

            // Parse command-line options
            const char *filename = "weighted_graph.gr";
            if (argc > 1) filename = argv[1];

            // Open the METIS input file
            std::ifstream in(filename);
            graph::metis_reader reader(in);

            // Load the graph using the default distribution
            Graph g(reader.begin(), reader.end(), reader.weight_begin(),
                    reader.num_vertices());

            // Get vertex 0 in the graph
            graph_traits<Graph>::vertex_descriptor start = vertex(0, g);

            // Compute shortest paths from vertex 0
//              dijkstra_shortest_paths(g, start,
//                                      distance_map(get(vertex_distance, g)));

            typedef typename graph_traits<Graph>::vertex_descriptor vertex_t;
            typedef typename std::map<vertex_t, vertex_t> vertex_map_t;
            typedef associative_property_map<vertex_map_t> predecessor_map_t;
            vertex_map_t default_vertex_map;
            predecessor_map_t default_predecessor_map(default_vertex_map);

            typedef typename std::map<vertex_t, double> vertex_double_map_t;
            typedef associative_property_map<vertex_double_map_t> distance_map_t;
            vertex_double_map_t default_vertex_double_map;
            distance_map_t default_distance_map(default_vertex_double_map);

            graph::distributed::delta_stepping_shortest_paths(g, start, dummy_property_map(),
                    distance_map(get(vertex_distance, g)),
                    weight_map(get(edge_weight, g)));


            // Output a Graphviz DOT file
            std::string outfile = filename;
            if (argc > 2)
                outfile = argv[2];
            else {
                int i = outfile.rfind('.');
                if (i != std::string::npos)
                    outfile.erase(outfile.begin() + i, outfile.end());
                outfile += "-dijkstra.dot";
            }

            if (process_id(process_group(g)) == 0) {
                std::cout << "Writing GraphViz output to " << outfile << "... ";
                std::cout.flush();
            }
            write_graphviz(outfile, g,
                    make_label_writer(get(vertex_distance, g)),
                    make_label_writer(get(edge_weight, g)));
            if (process_id(process_group(g)) == 0)
                std::cout << "Done." << std::endl;

            return 0;
        }

我按如下方式运行代码:
pratsriv @ flowerpot:/ home / pratsriv / Desktop / ReadGraph $ mpic ++ parallelDeltastepping.cpp -I / home / pratsriv / boost_1_64_0 / include / -L / home / pratsriv / boost_1_64_0 / lib / -lboost_mpi -lboost_graph_parallel -lboost_system -lboost_serialization

它给了我以下错误:

In file included from parallelDeltastepping.cpp:18:0:
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp: In instantiation of ‘class boost::graph::distributed::delta_stepping_impl<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_weight_t, float> >, boost::dummy_property_map, boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>, boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, float, float&, long unsigned int, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::edge_weight_t> >, boost::edge_weight_t, boost::no_property> >’:
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp:504:5:   required from ‘void boost::graph::distributed::delta_stepping_shortest_paths(const Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, PredecessorMap, DistanceMap, EdgeWeightMap) [with Graph = boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_weight_t, float> >; PredecessorMap = boost::dummy_property_map; DistanceMap = boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>; EdgeWeightMap = boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, float, float&, long unsigned int, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::edge_weight_t> >, boost::edge_weight_t, boost::no_property>; typename boost::graph_traits<Graph>::vertex_descriptor = boost::detail::parallel::global_descriptor<long unsigned int>]’
parallelDeltastepping.cpp:80:37:   required from here
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp:74:63: error: no type named ‘value_type’ in ‘struct boost::property_traits<boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, float, float&, long unsigned int, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::edge_weight_t> >, boost::edge_weight_t, boost::no_property> >’
 ypedef typename property_traits<EdgeWeightMap>::value_type Dist;
                                                            ^
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp:123:8: error: no type named ‘value_type’ in ‘struct boost::property_traits<boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, float, float&, long unsigned int, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::edge_weight_t> >, boost::edge_weight_t, boost::no_property> >’
   void handle_relax_message(Vertex v, const std::pair<Dist, Vert
        ^
In file included from /home/pratsriv/boost_1_64_0/include/boost/graph/distributed/crauser_et_al_shortest_paths.hpp:34:0,
                 from /home/pratsriv/boost_1_64_0/include/boost/graph/distributed/dijkstra_shortest_paths.hpp:20,
                 from /home/pratsriv/boost_1_64_0/include/boost/graph/dijkstra_shortest_paths.hpp:620,
                 from parallelDeltastepping.cpp:17:
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp: In instantiation of ‘class boost::graph::distributed::detail::dijkstra_msg_value<boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>, boost::dummy_property_map>’:
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp:129:8:   required from ‘class boost::graph::distributed::delta_stepping_impl<boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_weight_t, float> >, boost::dummy_property_map, boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>, boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, float, float&, long unsigned int, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::edge_weight_t> >, boost::edge_weight_t, boost::no_property> >’
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp:504:5:   required from ‘void boost::graph::distributed::delta_stepping_shortest_paths(const Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, PredecessorMap, DistanceMap, EdgeWeightMap) [with Graph = boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_weight_t, float> >; PredecessorMap = boost::dummy_property_map; DistanceMap = boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>; EdgeWeightMap = boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, float, float&, long unsigned int, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::edge_weight_t> >, boost::edge_weight_t, boost::no_property>; typename boost::graph_traits<Graph>::vertex_descriptor = boost::detail::parallel::global_descriptor<long unsigned int>]’
parallelDeltastepping.cpp:80:37:   required from here
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp:40:59: error: no type named ‘key_type’ in ‘struct boost::property_traits<boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property> >’
 edef typename property_traits<DistanceMap>::key_type vertex_desc
                                                      ^
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/detail/dijkstra_shortest_paths.hpp:42:61: error: no type named ‘value_type’ in ‘struct boost::property_traits<boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property> >’
  typedef typename property_traits<DistanceMap>::value_type type;
                                                            ^
In file included from /home/pratsriv/boost_1_64_0/include/boost/graph/distributed/breadth_first_search.hpp:23:0,
                 from /home/pratsriv/boost_1_64_0/include/boost/graph/breadth_first_search.hpp:409,
                 from /home/pratsriv/boost_1_64_0/include/boost/graph/dijkstra_shortest_paths.hpp:21,
                 from parallelDeltastepping.cpp:17:
/home/pratsriv/boost_1_64_0/include/boost/graph/parallel/properties.hpp: In instantiation of ‘void boost::set_property_map_role(Property, PropertyMap) [with Property = boost::vertex_distance_t; PropertyMap = boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>]’:
/home/pratsriv/boost_1_64_0/include/boost/graph/distributed/delta_stepping_shortest_paths.hpp:499:24:   required from ‘void boost::graph::distributed::delta_stepping_shortest_paths(const Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, PredecessorMap, DistanceMap, EdgeWeightMap) [with Graph = boost::adjacency_list<boost::vecS, boost::distributedS<boost::graph::distributed::mpi_process_group, boost::vecS>, boost::undirectedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_weight_t, float> >; PredecessorMap = boost::dummy_property_map; DistanceMap = boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>; EdgeWeightMap = boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::edge_global_property_map<boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, float, float&, long unsigned int, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::edge_weight_t> >, boost::edge_weight_t, boost::no_property>; typename boost::graph_traits<Graph>::vertex_descriptor = boost::detail::parallel::global_descriptor<long unsigned int>]’
parallelDeltastepping.cpp:80:37:   required from here
/home/pratsriv/boost_1_64_0/include/boost/graph/parallel/properties.hpp:105:63: error: no type named ‘value_type’ in ‘struct boost::property_traits<boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property> >’
 ef typename property_traits<PropertyMap>::value_type value_type;
                                                      ^
/home/pratsriv/boost_1_64_0/include/boost/graph/parallel/properties.hpp:109:5: error: ‘struct boost::bgl_named_params<boost::parallel::distributed_property_map<boost::graph::distributed::mpi_process_group, boost::detail::parallel::global_descriptor_property_map<long unsigned int>, boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::property<boost::vertex_distance_t, float>, boost::property<boost::edge_locally_owned_t, bool, boost::property<boost::edge_target_processor_id_t, short int, boost::property<boost::edge_weight_t, float> > >, boost::no_property, boost::listS>*, float, float&, boost::vertex_distance_t> >, boost::vertex_distance_t, boost::no_property>’ has no member named ‘set_reduce’
     pm.set_reduce(reduce());

1 个答案:

答案 0 :(得分:1)

您似乎将命名参数与位置参数混淆。

需要传递距离和权重贴图,而不是作为此重载的位置参数对象包装:

template<typename Graph, typename PredecessorMap, typename DistanceMap, 
         typename EdgeWeightMap>
void 
delta_stepping_shortest_paths
  (const Graph& g,
   typename graph_traits<Graph>::vertex_descriptor s,
   PredecessorMap predecessor, DistanceMap distance, EdgeWeightMap weight)
{

因此,删除命名参数构造函数:

graph::distributed::delta_stepping_shortest_paths(g, start, dummy_property_map(),
        distance_map(get(vertex_distance, g)),
        weight_map(get(edge_weight, g)));

应该是

graph::distributed::delta_stepping_shortest_paths(g, start, dummy_property_map(),
        get(vertex_distance, g),
        get(edge_weight, g));