Am I building 64-bit Boost correctly?

I have finally decided to get my feet wet, when it comes to the 64-bit world. Honestly, all my fears turned out to be valid, and then some. I have a MSVS-2010 Solution that includes several varied projects: GUI, libraries (both kids) and Shell Extensions. Since a couple of my projects depend on Boost (the greatest set of libraries ever known to man! Boost rocks! Boost rules!!... but I digress): I decided to start there. Since I am getting some boost-related error messages, I figure that step number zero is to make sure that my Boost installation is healthy. This is how I build it: .\bootstrap.bat .\bjam.exe --with-date_time --with-filesystem --with-regex --with-system --stagedir=. --build-type=complete toolset=msvc-10.0 address-model=64 Notice that the above commands have served me well for years (minus the last parameter, which I am now using for the first time). Is that all I need? TIA, -Ramon

Ramon F Herrera
I have finally decided to get my feet wet, when it comes to the 64-bit world.
Honestly, all my fears turned out to be valid, and then some. I have a MSVS-2010 Solution that includes several varied projects: GUI, libraries (both kids) and Shell Extensions.
Since a couple of my projects depend on Boost (the greatest set of libraries ever known to man! Boost rocks! Boost rules!!... but I digress): I decided to start there.
Since I am getting some boost-related error messages, I figure that step number zero is to make sure that my Boost installation is healthy.
This is how I build it:
.\bootstrap.bat
.\bjam.exe --with-date_time --with-filesystem --with-regex --with-system --stagedir=. --build-type=complete toolset=msvc-10.0 address-model=64
Notice that the above commands have served me well for years (minus the
last parameter, which I am now using for the first time).
Is that all I need?
TIA,
-Ramon
Ensure you don't install your 64-bit libraries in the same directory as your 32-bit libraries. I forget the option to change this in stage. 32 and 62 bit can share the same include directory.

On 11/14/2012 10:28 AM, Andrew Holden wrote:
Ensure you don't install your 64-bit libraries in the same directory as your 32-bit libraries. I forget the option to change this in stage. 32 and 62 bit can share the same include directory.
I keep them miles apart. What I do is to have 2 environment variables: - $(Boost) ==> C:\Program Files (x86)\Boost\boost_1_52_0 - $(Boost64) ==> C:\Program Files\Boost\boost_1_52_0 And they are typed in the compiler and linker dialogs (See attachment) Thanks! -Ramon

On Wed, Nov 14, 2012 at 10:41:42AM -0600, Ramon F Herrera wrote:
On 11/14/2012 10:28 AM, Andrew Holden wrote:
Ensure you don't install your 64-bit libraries in the same directory as your 32-bit libraries. I forget the option to change this in stage. 32 and 62 bit can share the same include directory.
I keep them miles apart. What I do is to have 2 environment variables:
- $(Boost) ==> C:\Program Files (x86)\Boost\boost_1_52_0 - $(Boost64) ==> C:\Program Files\Boost\boost_1_52_0
And they are typed in the compiler and linker dialogs (See attachment)
I would personally not separate them solely by the name of the Program Files, as that name can be reinterpreted based on the bitness of the program trying to do the file access, and if you're unlucky, be completely virtualized into a per-user place. -- Lars Viklund | zao@acc.umu.se
participants (4)
-
Andrew Holden
-
Igor R
-
Lars Viklund
-
Ramon F Herrera