編譯64位boost


      一直以來都是在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。

  • 只生成一個庫的話加上例如--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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM