編譯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
相關文章
相關標籤/搜索