What is a good step by step explanation on how to use the Boost library in an empty project in Visual Studio?
While Nate's answer is pretty good already, I'm going to expand on it more specifically for Visual Studio 2010 as requested, and include information on compiling in the various optional components which requires external libraries.
If you are using headers only libraries, then all you need to do is to unarchive the boost download and set up the environment variables. The instruction below set the environment variables for Visual Studio only, and not across the system as a whole. Note you only have to do it once.
C:\boost_1_47_0
).Microsoft.Cpp.<Platform>.user
, and select Properties
to open the Property Page for edit.VC++ Directories
on the left.Include Directories
section to include the path to your boost source files.If you want to use the part of boost that require building, but none of the features that requires external dependencies, then building it is fairly simple.
C:\boost_1_47_0
).bootstrap.bat
to build b2.exe (previously named bjam).Run b2:
b2 --toolset=msvc-10.0 --build-type=complete stage
; b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage
Go for a walk / watch a movie or 2 / ....
Library Directories
section to include the path to your boost libraries output. (The default for the example and instructions above would be C:\boost_1_47_0\stage\lib
. Rename and move the directory first if you want to have x86 & x64 side by side (such as to <BOOST_PATH>\lib\x86
& <BOOST_PATH>\lib\x64
).If you want the optional components, then you have more work to do. These are:
Boost.IOStreams Bzip2 filters:
C:\bzip2-1.0.6
).-sBZIP2_SOURCE="C:\bzip2-1.0.6"
when running b2 in step 5.Boost.IOStreams Zlib filters
C:\zlib-1.2.5
).-sZLIB_SOURCE="C:\zlib-1.2.5"
when running b2 in step 5.Boost.MPI
project-config.jam
in the directory <BOOST_PATH>
that resulted from running bootstrap. Add in a line that read using mpi ;
(note the space before the ';').Boost.Python
To completely built the 32-bits version of the library requires 32-bits Python, and similarly for the 64-bits version. If you have multiple versions installed for such reason, you'll need to tell b2 where to find specific version and when to use which one. One way to do that would be to edit the file project-config.jam
in the directory <BOOST_PATH>
that resulted from running bootstrap. Add in the following two lines adjusting as appropriate for your Python installation paths & versions (note the space before the ';').
using python : 2.6 : C:\\Python\\Python26\\python ;
using python : 2.6 : C:\\Python\\Python26-x64\\python : : : <address-model>64 ;
Do note that such explicit Python specification currently cause MPI build to fail. So you'll need to do some separate building with and without specification to build everything if you're building MPI as well.
Follow the second set of instructions above to build boost.
Boost.Regex ICU support
C:\icu4c-4_8
).<ICU_PATH>\source\allinone
.-sICU_PATH="C:\icu4c-4_8"
when running b2 in step 5.