Boost logo

Boost Users :

Subject: Re: [Boost-users] [BGL] adjacency_list.hpp requires to link with serialization lib in 1.44?
From: Jeremiah Willcock (jewillco_at_[hidden])
Date: 2010-08-18 14:11:30


On Wed, 18 Aug 2010, Oliver Koenig wrote:

> Hello,
> when trying to update Boost from 1.43 to 1.44 in our code we noticed that in
> 1.44 we need to link to the serialization lib as soon as
> boost/graph/adjacency_list.hpp is included.
> Is this correct behavior or is this a bug?
>
> To reproduce this it is sufficient to build the following test program
> hello_adjacency_list.cpp (tested with MSVC-9.0):
>
> #include <iostream>
> #include <boost/graph/adjacency_list.hpp>
>
> int main(){
>
> std::cout << "hello adjacency_list\n";
>
> return 0;
> }
>
> With the boost build rule
> "exe hello_adjacency_list : hello_adjacency_list.cpp ;"
> compilation fails with:
> compile-c-c++
> ..\..\..\bin\even_utils\test\graph\msvc-9.0\release\address-model-64\threading-multi\hello_adjacency_list.obj
> hello_adjacency_list.cpp
> msvc.link
> ..\..\..\bin\even_utils\test\graph\msvc-9.0\release\address-model-64\threading-multi\hello_adjacency_list.exe
> LINK : fatal error LNK1104: cannot open file
> 'libboost_serialization-vc90-mt-1_44.lib'
>
> Using the build rule
> "exe hello_adjacency_list : hello_adjacency_list.cpp
> /boost//serialization
> : <link>shared<define>BOOST_SERIALIZATION_DYN_LINK ;"
> everything works fine.

That's odd -- I've been able to build applications using adjacency_list
with only the Boost headers and not linking any Boost libraries. This was
on Linux, though, so maybe your issue is auto-linking related. Shouldn't
auto-linking find the dynamic libraries automatically, though? Also, do
you have "using mpi ;" in your project-config.jam, or are you including
<boost/graph/use_mpi.hpp> in any of your files?

-- Jeremiah Willcock


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net