我最近通过Dreamspark获得了Visual Studio 2010,因此现在可以编译64位应用程序和库。然后使用以下输入行使用Bjam编译了Boost 1.47库。
.\b2 -a -d 0 -q -j 4 -d 0 --variant=debug,release --link=shared,static --threading=multi --address-model=32 --toolset=msvc-10.0
当我这样做时,我会得到每个库的4个版本(静态调试、动态调试、静态发布和动态发布)。 编译完成后,我将它们移动到另一个名为win32libs的目录中。然后,我使用完全相同的命令行来编译64位版本,但是将地址模型切换到64位(我知道它们几乎相同,因为我复制并粘贴自己创建的同一文本文档,以便轻松编译它们)。在64位编译之后,当我进入我的stage目录时,我只看到.lib文件而没有.dll文件。这是我所做的问题,还是说64位dll没有支持?谢谢。
.\b2 -a -d 0 -q -j 4 -d 0 variant=debug,release link=shared,static threading=multi address-model=32 toolset=msvc-10.0
。当你使用破折号时,那些特性将被忽略,并使用默认值进行构建。 - ildjarn