编译64位boost

最近一直在Window下编译64位的boost,找到这篇博文,好好学习一下:python

 

一直以来都是在Win32环境下Build和使用boost,但如今基本上天天都在64位Win7下工做,因此颇有必要把这几天的经验总结下来。和32位环境不一样,x64环境下编译得先从开始菜单启动Visual Studio的Visual Studio 2008 x64 Win64 Command Prompt进入命令提示符,而不是随便打开任意一个命令行窗口就行。而后转到boost根文件夹,运行bootstrap.bat生成x64版的bjam.exe。而后运行命令: 
bjam --build-type=complete toolset=msvc-9.0 threading=multi link=shared address-model=64 
便可生成DLL版平台库,若是要编译静态库版就把shared改成static。bootstrap

    • 只生成一个库的话加上例如--with-python得编译选项,避免生成东西太多、时间太长。
    • 要有address-model=64属性,若是没有这个属性的话,会默认生成32位的平台库,加入这个选项才能生成64位的DLL。
    • 若是要生成Boost.Python库,须要先下载安装x64版的Python安装包,我用的版本是3.2.3。在使用这个库编写Python扩展DLL时,默认是使用动态库版的Boost.Python,要使用静态版的必须在C++项目中定义BOOST_PYTHON_STATIC_LIB宏,这样就不用在使用或发布扩展时带着boost_python-vc90-mt-1_50.dll一块儿了,固然扩展DLL的尺寸会大些,若是作实验不必这样,编译又慢生成的文件也大。
    • vs工具链版本:vs2003 : msvc-7.1,vs2005 : msvc-8.0,vs2008 : msvc-9.0,vs2010 : msvc-10.0
相关文章
相关标签/搜索