2
votes

I am trying to upgrade our C++ project from VS2005 to VS2010 and so far all seems good except I need to recompile our Boost libraries (v1.39) in VS2010 (i.e. with vc100 - the versions we have are vc80). I do not (at this stage) want to upgrade Boost as I'd prefer to complete the VS2005 to VS2010 upgrade first without doing a Boost upgrade at the same time.

The problem I have is that Boost 1.39 comes with bjam and the version we have does not support/know about msvc10.0. I tried this:

C:\libs\boost_1_39_0>bjam toolset=msvc-10.0 --build-type=complete stage

But, I get this:

C:/libs/boost_1_39_0/tools/build/v2/tools\msvc.jam:733: in configure-really
* argument error
* rule path.make ( native )
* called with: ( )
* missing argument native
C:/libs/boost_1_39_0/tools/build/v2/util\path.jam:44:see definition of rule 'make' being called
C:/libs/boost_1_39_0/tools/build/v2/tools\msvc.jam:184: in configure
C:/libs/boost_1_39_0/tools/build/v2/tools\msvc.jam:137: in msvc.init
C:/libs/boost_1_39_0/tools/build/v2/build\toolset.jam:38: in toolset.using
C:/libs/boost_1_39_0/tools/build/v2\build-system.jam:465: in process-explicit-toolset-requests
C:/libs/boost_1_39_0/tools/build/v2\build-system.jam:545: in load
C:\libs\boost_1_39_0\tools\build\v2/kernel\modules.jam:283: in import
C:\libs\boost_1_39_0\tools\build\v2\kernel\bootstrap.jam:138: in boost-build
C:\libs\boost_1_39_0\boost-build.jam:16: in module scope
C:\libs\boost_1_39_0>

When I look at msvc.jam, it does not seem to support msvc-10.0 (no surprise as I doubt vc10.0 was out when Boost was at 1.39).

So did a bit of research and found that maybe I need to b2 instead of bjam, but I have very little experience of compiling Boost (just used precompiled libs before), so I would like to ask is it possible to get b2 that will work with Boost 1.39? Or is it possible to make bjam work with vc10.0?

Essentially, I just need to compile Boost 1.39 with vc-10.0 (VS2010) as simply as possible please! I will be very grateful to anyone who can tell me how to do this!

Thank you in advance........ :)

1

1 Answers

3
votes

You can use a more recent version of bjam to build boost 1.39.

  • download and unzip the current boost version
  • in a VS10 command prompt cd to the root of the freshly unzipped boost folder
  • execute bootstrap.bat. This should build bjam.exe in that folder
  • cd to the root folder of boost 1.39 and copy bjam.exe over
  • execute your bjam command: bjam toolset=msvc-10.0 --build-type=complete stage