Boost logo

Boost :

From: Christian Engström (christian.engstrom_at_[hidden])
Date: 2003-03-29 08:24:23


I am trying to use the boost::filesystem library, but when I follow the
instructions in the documentation to the best of my ability, the linker
does not seem to find the components that it needs.

I am using MSVC6 under Windows XP, and after downloading version 1.30.0,
I typed

   bjam "-sTOOLS=msvc"

in the boost directory, as described in the documentation. This seemed
to build a lot of things, and scatter the results in various deep
subdirectories.

When I then try to link my own test program, which uses the constructor
boost::filesystem::path(const char*), the linker complains that it
cannot find this symbol in any library. I would assume that this is
because the filesystem library has not been installed in the library
path, but there is no mention that I can find in the documentation of
any further actions I should perform after I have run bjam.

Copying the file

\boost_1_30_0\libs\filesystem\build\bin\libboost_filesystem.lib\msvc\debug\runtime-link-dynamic\libboost_filesystem.lib

by hand to the default MSVC library directory does not seem to have any
effect at all, and explicitly adding it to the cl command line only
results in the linker complaining about a lot of multiply defined
symbols. In any case neither of these actions is suggested in the
documentation.

What is it that I am supposed to do?

I am quite sure that the answer is something quite trivial, because I am
by no means any expert on the MSVC environment, but I do think that the
Boost documentation should explicitly mention all the steps that are
required to use any of the libraries.

I have previously beed successful in installing the regex package by
just following the intstructions in the documentation, so for that
library, the build and install information was evidently sufficient for
someone like me.


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