64位win7下安裝Boost 1.59.0 + boost.python 1.59.0 + gccxml + pygccxml + pyplusplus(py++)

因爲安裝過程當中實在是出現了N多問題,因此不得不專門寫個帖子來記錄一下這破東西在Win7下的安裝過程,避免之後還要再用的時候踩坑。html

 

1.Boost簡介

  Boost庫是一個可移植、提供源代碼的C++庫,做爲標準庫的後備,是C++標準化進程的開發引擎之一。 Boost庫由C++標準委員會庫工做組成員發起,其中有些內容有望成爲下一代C++標準庫內容。在C++社區中影響甚大,是徹徹底底的「準」標準庫。Boost因爲其對跨平臺的強調,對標準C++的強調,與編寫平臺無關。大部分boost庫功能的使用只需包括相應頭文件便可,少數(如正則表達式庫,文件系統庫等)須要連接庫。但Boost中也有不少是實驗性質的東西,在實際的開發中實用須要謹慎。python

 

2.安裝ICU

  安裝ICU的時候遇到了各類奇葩的問題,因此要記錄一下,避免之後踩坑。c++

  1.下載:https://sourceforge.net/projects/icu/git

  2.解壓。好比C:\Users\Administrator\Desktop\icugithub

  3.到icu目錄下source\allinone找到allinone.sln,用VS2010打開正則表達式

  4.用Release方式生成。可選Win32和x64兩種版本。爲了和32位的python以及boost兼容,我在這裏用的是Win32方式。bootstrap

  5.編譯過程當中可能會提示「TargetPath xxxxx 與Linker的OutputFile不匹配」,能夠無視它,從新進行生成。函數

  6.生成成功後,將include目錄和lib目錄下的庫文件拷貝出來,放到想要安裝的路徑下:我這裏放在:d:\developer\icu下學習

  7.配置環境變量PATH,添加d:\developer\icu\binui

  8.運行解壓目錄下的C:\Users\Administrator\Desktop\icu\source\allinone\icucheck.bat,看看是否安裝成功

 

 3.安裝Expat

  1.下載:https://sourceforge.net/projects/expat/

  2.解壓。好比我這裏解壓到桌面:C:\Users\Administrator\Desktop\expat-2.1.1

  3.用CMake生成項目:選中expat-2.1.1目錄,新建一個要生成項目的目錄:C:\Users\Administrator\Desktop\expat-2.1.1-build。點config,配置CMAKE_INSTALL_PREFIX路徑爲你想要安裝的路徑:D:\developer\expat,再config,再Generate。

  4.用VS2010打開C:\Users\Administrator\Desktop\expat-2.1.1-build中生成的項目,選中Install項目,點擊生成。

  5.配置環境變量PATH,添加D:\developer\expat\bin。安裝完成

 

4.安裝MIP

  http://www.microsoft.com/downloads/details.aspx?DisplayLang=en&FamilyID=d8462378-2f68-409d-9cb3-02312bc23bfd

    MPI所需MPI類庫 -- Boost的官方站點說須要MPICH或OpenMPI之類的支持,事實上在Windows下老是會提示須要MPIC++,你須要的是Microsoft Cluster Pack SDK,下載並默認安裝在C:\ProgramFiles\Microsoft Compute Cluster Pack下。(說明:若是安裝Microsoft HPC Pack 2008 SDK或Microsoft Compute ClusterPack時不是裝到默認的路徑下,那bjam就會抓瞎,找不到mpic++的路徑,這時候能夠修改一下mpi.jam(在boost_1_46_1\tools\build\v2\tools): local cluster_pack_path_native = "你的路徑")
    ——《Win7+vs2010下安裝boost_1_46_1庫》

 

5.安裝Boost

  1.下載Boost。我這裏的版本是1.59.0:http://www.boost.org/users/history/version_1_59_0.html

  2.解壓:C:\Users\Administrator\Desktop\boost_1_59_0

  3.在命令行運行C:\Users\Administrator\Desktop\boost_1_59_0\bootstrap.bat,生成bjam.exe

  4.爲了使用mpi,打開配置文件:project-config.jam,添加一行

using mpi ;

  5.使用ICU:set ICU_PATH="D:\developer\icu"

  6.安裝:bjam stage -s HAVE_ICU=1 -s ICU_PATH=D:\developer\icu --toolset=msvc-10.0 --build-type=complete link=static runtime-link=static --prefix="D:\developer\Boost" threading=multi variant=release

  7.各個參數的含義見參考資料[1]的文章

 

6.其餘安裝說明

  1.GCC-XML安裝主要用CMake生成VS項目,在Windows下用Virtual Studio打開生成的.sln,而後點擊INSTALL項目生成。最後配置環境變量PATH到INSTALL的目錄便可。

  2.boost.python安裝文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#boost.python。安裝須要python + pip + wheels

  3.pyplusplus(py++)和pygccxml能夠在命令行下經過pip install pyplusplus、pip install pygccxml進行安裝

 

7.boost.python使用說明能夠參見官網

8.py++

  可以很是方便的經過頭文件生成boost.python所需的封裝代碼。可是對於比較高級的使用封裝包含虛函數的c++類、帶指針參數的函數、返回值是指針的函數等的封裝須要手動指定調用策略。並且我在使用除了return_opaque_pointer以外的返回策略進行編譯時總會報出各類錯誤。我在其中糾結了好久,最終沒有找到解決辦法。

  py++的使用說明參見參考資料[5]

 

參考資料:

1.《Win7+vs2010下安裝boost_1_46_1庫》[DoubleLi]

2.《在Windows使用VC編譯ICU》[dragoo1]

3.《Windows下Boost庫安裝方法》

4.《CMakeListx.txt 編輯語法學習》[KyJason]

5.《PY++ 自動將你的C++程序接口封裝供python調用》[閣子]

4.Boost.Python官方文檔

5.CMake官網

6.GCC-XML的github

相關文章
相關標籤/搜索