Boost logo

Boost-Build :

Subject: Re: [Boost-build] [CMake] VS 2008 x64, Boost 1.39 - Can not find boost libraries
From: Mike Jackson (mike.jackson_at_[hidden])
Date: 2009-08-27 08:48:03

First: Sorry for the cross-post but the problem involves projects from
all three lists. Comments are below:

On Thu, Aug 27, 2009 at 12:01 AM, Philip Lowman<philip_at_[hidden]> wrote:
> Mike,
> Sorry, I didn't realize you were using the CMake build for Boost.  I
> wouldn't be surprised if there were issues with it as it's still
> experimental.  You could report (both?) bugs to the boost-cmake list and/or
> try to reproduce with 1.40beta?
> I used Visual Studio (Express) 2005 & 2008 (32bit) command prompts with
> bjam.
> On Tue, Aug 25, 2009 at 8:01 AM, Mike Jackson <mike.jackson_at_[hidden]>
> wrote:
>> Just to be clear, did you build them with the 64bit command prompt
>> from Visual Studio? Otherwise how did you build them?
>>  I ended up tweaking the cmake files that come with boost 1.39 in
>> order to remove the -s that is tagged onto the unittest libraries.
>> Otherwise not really sure what to do as this is all new to me (the
>> windows side of things any ways...)
>> _________________________________________________________
>> Mike Jackson                  mike.jackson_at_[hidden]
>> On Tue, Aug 25, 2009 at 12:26 AM, Philip Lowman<philip_at_[hidden]> wrote:
>> > Mike,
>> >
>> > Let us know what you find out.  I've built 1.39 and 1.40beta using the
>> > standard bootstrap & bjam build system using VS9 and both times they
>> > came
>> > out in the form "[lib]boost_<foo>-vc90-mt-1_39.lib".
>> >
>> > On Mon, Aug 24, 2009 at 2:39 PM, Mike Jackson
>> > <mike.jackson_at_[hidden]>
>> > wrote:
>> >>
>> >> Setup is as follows:
>> >>
>> >>  Windows 7 x64
>> >>  Visual Studio 2008 standard Edition
>> >>  Boost 1.39.0 download from source
>> >>  CMake 2.6.4
>> >>
>> >> Compiled boost libraries as usual using the x64 command prompt that
>> >> comes with VS 2008. Compiled fine except the library naming is a bit
>> >> "off" from usual. Instead of having "-vc90-" in the name the boost
>> >> libraries only have "-vc-" in them. This throws off FindBoost. The
>> >> quick fix was to use:
>> >>
>> >> cmake -DBoost_COMPILER=-vc ../  and at least cmake could configure my
>> >> project.
>> >>
>> >> Just a heads up in case anyone else runs into this situation.
>> >>
>> >> Pinged the boost-build list to see if this is a bug, feature or
>> >> over-sight...
>> >> _________________________________________________________
>> >> Mike Jackson                  mike.jackson_at_[hidden]
>> >> BlueQuartz Software          
>> >> Principal Software Engineer                  Dayton, Ohio

>> >
>> > --
>> > Philip Lowman

> --
> Philip Lowman

I probably should have been a bit more verbose about what happened.

 All of this was on a Windows 7 x64 machine with VS 2008 standard Ed
installed and using the VS x64 command prompt.

First tried to use the standard bjam to compile boost. All seemed to
compile fine except the library naming had the "-vc-" instead of the
"-vc90-" as would be expected. Ok. It is just a name, what harm could
that cause....

 Well I used cmake to configure my own project using the command
"cmake -DBoost_COMPILER=-vc ../" to let it configure. My project
configured and I attempted the build with VS 9. The problem came at
linking. Although the boost libraries had the -vc- in the name
something embedded in the library was really pointing to boost
libraries with "-vc90-" in the name so the linking could never finish.

  Next I tried using the CMake build system that comes with boost
1.39.0. Again the libraries built but the unit-testing libraries had
the "-s" tacked onto the end of the names which again throws off the
FindBoost that come standard with CMake 2.6.4. I hacked through the
boost-cmake sources to remove the "-s" on the unit testing libraries,
recompiled and now all is working and all libraries have the correct
naming conventions.

    I don't know the root cause of the problem with bjam. I posted
some traces to the mailing list but have not heard
anything back. Maybe it has something to do with Windows 7 or x64
command prompt. If I had time I would probably install VS 2008 on
Windows XP (32 bit) and try to use the x64 Cross Tools command prompt
to compile a 64 bit boost library set and see what happens there.

  Just a heads up that there might be some problems when Windows 7 is
release to greater numbers and the specific combination of:
  boost compiled in x64 mode and a CMake based project is used.

Mike Jackson mike.jackson_at_[hidden]
BlueQuartz Software
Principal Software Engineer Dayton, Ohio

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at