1. Download Boost and Boost.Jam from here.
2. Put Boost.Jam binary into a directory on your PATH.
3. Uncompress Boost library into a directory of your choice.
4. There is an error in one of Boost build files that needs to be fixed before compiling for IA64 architecture:
- Go to boost_1_34_0\tools\build\v2\tools folder.
- Open msvc.jam in your favorite editor (mine is by *far* Visual Studio itself)
- Replace all instances of "x86_IPF" with "x86_ia64" (there should be two)
5. Go to command prompt, change directory to boost_1_34 and build Boost library for all three architectures.
- For x86:
- For x64:
- For IA64:
6. Install x86 libraries:
bjam msvc architecture=x86 install
By default Boost will install its include and lib files into C:\Boost\lib and C:\Boost\include\boost-1_34. The problem with this is that if want to install x64 or IA64 static library files these will overwrite x86 static library files already installed. To avoid this we need to move all x86 static libraries to C:\Boost\lib\x86 (this is my solution - obviously other solutions are possible) so that these aren't overwritten by subsequent installations.
7. Install x64 libraries:
bjam msvc architecture=x86 address-model=64 install
Again, move these libraries from C:\Boost\lib to C:\Boost\lib\x64.
8. Install IA64 libraries:
bjam msvc architecture=architecture=ia64 install
Now move these libraries C:\Boost\lib to C:\Boost\lib\ia64.
9. Adapt your Visual C++ projects so that:
- x86 platform links libraries from C:\Boost\lib\x86
- x64 platform links libraries from C:\Boost\lib\x64
- ia64 platform links libraries from C:\Boost\lib\ia64
Update: Fixed a typo in "For IA64" build statement.
2 comments:
I am having problems with step 5.
First, there may be a typo in "For IA64".
Second and more importantly, I got several failed(32) and skipped(21) targets while running the bjam for x64.
Is this serious or can I just move on?
I am trying to get this working for x64.
Any help appreciated.
Thanks.
Yes, there was a typo. I have fixed it now - thanks.
The skipped targets are probably Boost.Python which is built only if Python installed and configured. Depending on what you intend to do this may or may not matter to you.
But failed targets are not normal I think so I would look into that further.
Post a Comment