
On January 13, 2011 11:41 AM, Ramon F Herrera wrote:
I have installed MSVS-2005 and MSVS-2010 in my development PC. I noticed that contrary to other libraries, every boost installation seems to be specific for:
- The Boost version (duh!)
- The MSVC Version
For instance: libboost_system-vc80-mt-1_43.lib
I would prefer to have all the -vc80- and -vc100- library files in the same folder, but perhaps I am looking for trouble? Then there is the issue of the includes.
I have run into no problems installing multiple boost builds into the same directory. At times, I have had libraries for 3 different boost versions and 4 compilers all in the same directory. I normally use the bjam "install" option to get a directory tree with only the libraries and includes in it. By default, install builds the following tree: C:\boost + lib + (lib and dll files here) + include + boost-version + boost + massive tree for .hpp files here As far as I can tell, the .hpp files are not customized for the compiler version, so all compilers can share the same set of .hpp files. Also, the fact that each boost version gets its own directory under include means that multiple boost versions can coexist. The one caveat is that 32-bit and 64-bit builds can NOT install into the same directory. Others have had good luck doing similar things with bjam's "stage" option, but I have no experience with that option. I believe the same provisos apply.
If such strategy turns out to be ill-advised, I would like to somehow "hide" my MSVS-2010 (don't want to uninstall it!) and then install Boost, built bye the VS-2005 toolchain.
Some bjam options to control which toolset to use: toolset=msvc-8.0 Build using Visual Studio 2005 toolset=msvc-10.0 Build using Visual Studio 2010 address-model=32 Build using a 32-bit compiler address-model=64 Build using a 64-bit compiler --prefix=C:\your_target_directory Install into a certain directory --stagedir=your_target_directory Stage into a certain directory(useful for building both 32-bit and 64-bit)