Reputation: 1949
I have recently acquired Visual Studio 2010 through Dreamspark, so I can now compile 64 bit applications and libraries. I then compiled the Boost 1.47 libraries with Bjam using the following line for input.
.\b2 -a -d 0 -q -j 4 -d 0 --variant=debug,release --link=shared,static --threading=multi --address-model=32 --toolset=msvc-10.0
When I do, I get 4 of each library (static-debug, dynamic-debug, static-release, dynamic-release). After they are compiled, I move them into another directory called win32libs. I then use the exact same line to compile the 64 bit versions, but switch the address model to 64 (I know they are almost identical because I copy and past from the same text document I made to make compiling them easy). When I go into my stage directory after the 64 bit compilation, I only see .lib, no .dll. Is this an issue with what I'm doing, or is in some way, 64 bit dlls not supported?
Thanks
Upvotes: 4
Views: 8661
Reputation: 6043
The options that change how Boost is compiled (as opposed to those that just control b2's execution) are called "features" and must not be preceeded by dashes on the command line. In your example the features are:
The libraries it generates will be named according to the library naming scheme for Boost on Windows. lib*.lib are static libraries; other*.lib are the import libs for the corresponding DLLs.
Upvotes: 6