Boost logo

Boost :

Subject: [boost] how to compile when using read_graphml
From: Alexandre de Morais Amory (amamory_at_[hidden])
Date: 2010-01-14 10:32:54


Hi,

  I've been trying to use the function from read_graphml from BGL.
I am using the test case in
http://lists.boost.org/Archives/boost/2007/04/119804.php as my first case
study.
Apparently it compiles ok, but there is a link error. See msg bellow:
======
aamory_at_gaph14:~/reps/test-tools/bgl/test/sandbox-bgl$ g++ reader_test.cc
In file included from /usr/include/c++/4.4/backward/hash_set:59,
                 from /usr/include/boost/graph/adjacency_list.hpp:25,
                 from reader_test.cc:1:
/usr/include/c++/4.4/backward/backward_warning.h:28:2: warning: #warning
This file includes at least one deprecated or antiquated header which may be
removed without further notice at a future date. Please use a non-deprecated
interface with equivalent functionality instead. For a listing of
replacement headers and interfaces, consult the file backward_warning.h. To
disable this warning use -Wno-deprecated.
/tmp/ccgvAjHU.o: In function `void
boost::read_graphml<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, VertexProps, boost::property<boost::edge_weight_t, double,
boost::no_property>, boost::no_property, boost::listS>
>(std::basic_istream<char, std::char_traits<char> >&,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS,
VertexProps, boost::property<boost::edge_weight_t, double,
boost::no_property>, boost::no_property, boost::listS>&,
boost::dynamic_properties&)':
reader_test.cc:(.text._ZN5boost12read_graphmlINS_14adjacency_listINS_4vecSES2_NS_9directedSE11VertexPropsNS_8propertyINS_13edge_weight_tEdNS_11no_propertyEEES7_NS_5listSEEEEEvRSiRT_RNS_18dynamic_propertiesE[void
boost::read_graphml<boost::adjacency_list<boost::vecS, boost::vecS,
boost::directedS, VertexProps, boost::property<boost::edge_weight_t, double,
boost::no_property>, boost::no_property, boost::listS>
>(std::basic_istream<char, std::char_traits<char> >&,
boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS,
VertexProps, boost::property<boost::edge_weight_t, double,
boost::no_property>, boost::no_property, boost::listS>&,
boost::dynamic_properties&)]+0x3d): undefined reference to
`boost::read_graphml(std::basic_istream<char, std::char_traits<char> >&,
boost::mutate_graph&)'
collect2: ld returned 1 exit status
aamory_at_gaph14:~/reps/test-tools/bgl/test/sandbox-bgl$
=======

I guess there should be some library. Reading the doc in
http://www.boost.org/doc/libs/1_38_0/libs/graph/doc/read_graphml.html
it says that the lib "bgl-graphml" should be included, but I don't known
where to find it. At the /usr/lib there is only the files
libboost_graph-mt.a, libboost_graph-mt.so, libboost_graph-mt.so.1.38.0

It seems that the problem is just to correctly define the compilation
command ... any help would be much appreciated.

configuration:
- boost 1.38.0
- ubuntu 9.10 64 bits
- g++ 4.4.1

 Thanks!

Alexandre


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk