|
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