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

由于安装过程中实在是出现了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

  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

posted @ 2016-06-09 17:57  紫零大仙  阅读(3866)  评论(0编辑  收藏  举报