由於安裝過程中實在是出現了N多問題,所以不得不專門寫個帖子來記錄一下這破東西在Win7下的安裝過程,避免以后還要再用的時候踩坑。
1.Boost簡介
Boost庫是一個可移植、提供源代碼的C++庫,作為標准庫的后備,是C++標准化進程的開發引擎之一。 Boost庫由C++標准委員會庫工作組成員發起,其中有些內容有望成為下一代C++標准庫內容。在C++社區中影響甚大,是不折不扣的“准”標准庫。Boost由於其對跨平台的強調,對標准C++的強調,與編寫平台無關。大部分boost庫功能的使用只需包括相應頭文件即可,少數(如正則表達式庫,文件系統庫等)需要鏈接庫。但Boost中也有很多是實驗性質的東西,在實際的開發中實用需要謹慎。
2.安裝ICU
安裝ICU的時候遇到了各種奇葩的問題,所以要記錄一下,避免以后踩坑。
1.下載:https://sourceforge.net/projects/icu/
2.解壓。比如C:\Users\Administrator\Desktop\icu
3.到icu目錄下source\allinone找到allinone.sln,用VS2010打開
4.用Release方式生成。可選Win32和x64兩種版本。為了和32位的python以及boost兼容,我在這里用的是Win32方式。
5.編譯過程中可能會提示“TargetPath xxxxx 與Linker的OutputFile不匹配”,可以無視它,重新進行生成。
6.生成成功后,將include目錄和lib目錄下的庫文件拷貝出來,放到想要安裝的路徑下:我這里放在:d:\developer\icu下
7.配置環境變量PATH,添加d:\developer\icu\bin
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
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]
4.《CMakeListx.txt 編輯語法學習》[KyJason]
5.《PY++ 自動將你的C++程序接口封裝供python調用》[閣子]
5.CMake官網