Boost logo

Boost Users :

From: Ben Hutchings (ben.hutchings_at_[hidden])
Date: 2003-12-10 14:47:33


Scott Meyers <Usenet_at_[hidden]> wrote:
> > Try a slight variation:
> >
> > cl /TP /W4 /WL /GX /GR -ID:\C++\Boost\Current simple_ls.cpp
> > %BOOST_FILESYSTEM_LIB%
>
> Alas, that doesn't help. I still get multiply defined symbols.
> This is with 1.30.2.

It looks like your program and the filesystem library are built
against different versions of the C/C++ run-time library. Under
the control of #pragma directives, Visual C++ compiler can insert
references into object files that tell the linker which libraries
to link with. In this case the linker tries to link with both
run-time libraries and finds conflicting definitions. Check that
you're linking with the right build of the filesystem library.

> Is there any reason to expect that the
> problem will magically go away if the get the CVS version?

Perhaps. The Boost headers are now using the abovementioned
pragma to (hopefully) select the right library to link with.

Ben.


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