tags:

views:

1303

answers:

2
+10  Q: 

Building Boost BCP

I was trying to build Boost C++ Libraries for last two hours and stopped without any result. Since I am new to C++, I am unable to get the build right. How can I build it correctly using Visual Studio 2008?

I need to use the BCP tool to extract a subset of library. So I need to build BCP first, right? How to do this? When I tried to build it, I got the following error

*fatal error LNK1104: cannot open file 'libboost_filesystem-vc90-mt-gd-1_37.lib'.*

Where can I get the above given library file?

+21  A: 

First, you need to have the proper PATH, INCLUDE and LIB environment variables in your command shell. For this, call the file "vcvarsall.bat" (or similar) with parameter:

vcvarsall.bat x86

Next you have to build bjam (you can also download it from the Boost page, but it's almost as quick). Go to the tools\jam\src folder in Boost and type:

build.bat

It should produce a subfolder bin.ntx86 that contains bjam.exe. For convenience, copy it to the Boost main folder. Next, you can build bcp. Go into the tools\bcp folder and type:

..\..\bjam.exe --toolset=msvc

Back in the Boost main folder you can then build any library you wish:

bjam toolset=msvc –-with-{library}

where {library} is one of the libraries to build. All buildable libraries can be shown with:

bjam –-show-libraries

There are many more bjam build parameters. Some parameters with keywords you can specify are:

variant=debug|release
link=shared|static
threading=multi|single

An example would be:

bjam toolset=msvc –-with-filesystem threading=multi variant=debug stage

For more infos, visit the Boost documentation pages.

Edit: Updated link to point to most recent Boost documentation

Edit: Corrected options --with-{library} and –-show-libraries

vividos
Thanks for the excellent answer! This helped me a great deal.
Zack Mulgrew
It's `--with-{library}` and `--show-libraries`. Two '-', not one.
KTC
Thanks KTC, the documentations says the same. I corrected the answer.
vividos
+1  A: 

Note that you don't need to build your Windows versions of bcp from source -- you can also download a binary version from http://www.boostpro.com/download, and skip all those steps.

(Or, at least, that's the case in theory -- I haven't tried it; I just found that page and this one while looking for a pre-built Linux version.)

Brooks Moses
Note: site requires registration to enable download.
romkyns
It also doesn't seem to give you bcp by default.. you have to build it yourself anyway.
jamuraa