Boost logo

Boost Users :

From: Deane Yang (deane_yang_at_[hidden])
Date: 2006-11-23 02:44:48


Vladimir Prus wrote:
> Deane Yang wrote:
>
>> Volodya,
>>
>> Thanks for responding!
>>
>> When I run bjam (using Boost Build v2) to compile an executable that
>> uses the serialization library, it appears to look for either the wrong
>> version of the library or the right library in the wrong directory.
>>
>> Here's what I see: I've tried to set up my projects to always use the
>> default settings. So I do not have any explicit setting of either the
>> <link> or <runtime-link> flags anywhere. So all of object files get
>> compiled in the directory
>>
>> bin/msvc-8.0express/debug/threading-multi
>>
>> I am therefore guessing that bjam then looks unsuccessfully for a
>> statically linked serialization library in
>>
>> $(BOOST_ROOT)/bin.v2/msvc-8.0express/debug/threading-multi
>>
>> That directory contains only a dynamically linked version (so the name
>> does not have the prefix "lib").
>>
>> Of course, the directory
>>
>> $(BOOST_ROOT)/bin.v2/msvc-8.0express/debug/link-static/threading-multi
>>
>> seems to have the desired library.
>>
>> I'm not sure what's going on.
>
> Let's try again. In the last email I've asked some questions, quoting:
>
> Or the library you already have built? Then how did you built it and how
> do you link to it, and what's your Jamfile, and what's your command line,
> and what version of Boost and what version of Boost.Build and of
> Boost.Jam?

I built the boost serialization libraries by going into the boost
directory and doing

bjam --v2 serialization

In a Jamroot file higher up, I have

project : requirements <threading>multi
         ;

In my Jamfile I have something like:

exe myprogram : myprogram.cpp
                 ../../vendor/boost//serialization
               ;

I call it by just doing "bjam".

I am using whatever I got using cvs, as described in the "Getting
Started" page of www.boost.org. I did this within the last week.

>
> I'd need the following information to have any chance to diagnose the
> problem:
>
> 1. You havent't told what's in your Jamfile -- ideal would be an archive
> containing a minimal project.

I'll try to do that

> 2. You haven't told how you've built the serialization library.

See above

> 3. Version of Boost/Boost.Build/Boost.Jam is a mistery to me still. I can
> *assume* it's RC 1_34_0, but there still people using 1-year-old
> Boost.Build releases.

See above

> 4. You did not say what command line was.

See above

> 5. You did not say what *error* you've got.

The linking of my executable failed, because the serialization library
was not found. Unfortunately, I can't reproduce the exact error message
right now.

I would note that if I insert something like "<runtime-link>static" into
the project, then everything works OK.

> 6. I also want to see the content of your user-config.jam.

using msvc : all ;

>
> - Volodya


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