简体   繁体   中英

Can't build Boost 64 bit dynamic libraries, only static

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

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:

  • variant
  • link
  • threading
  • address-model
  • toolset

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM