• 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:UsersAdministratorDesktopicu

      3.到icu目录下sourceallinone找到allinone.sln,用VS2010打开

      4.用Release方式生成。可选Win32和x64两种版本。为了和32位的python以及boost兼容,我在这里用的是Win32方式。

      5.编译过程中可能会提示“TargetPath xxxxx 与Linker的OutputFile不匹配”,可以无视它,重新进行生成。

      6.生成成功后,将include目录和lib目录下的库文件拷贝出来,放到想要安装的路径下:我这里放在:d:developericu下

      7.配置环境变量PATH,添加d:developericuin

      8.运行解压目录下的C:UsersAdministratorDesktopicusourceallinoneicucheck.bat,看看是否安装成功

     3.安装Expat

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

      2.解压。比如我这里解压到桌面:C:UsersAdministratorDesktopexpat-2.1.1

      3.用CMake生成项目:选中expat-2.1.1目录,新建一个要生成项目的目录:C:UsersAdministratorDesktopexpat-2.1.1-build。点config,配置CMAKE_INSTALL_PREFIX路径为你想要安装的路径:D:developerexpat,再config,再Generate。

      4.用VS2010打开C:UsersAdministratorDesktopexpat-2.1.1-build中生成的项目,选中Install项目,点击生成。

      5.配置环境变量PATH,添加D:developerexpatin。安装完成

    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:ProgramFilesMicrosoft Compute Cluster Pack下。(说明:如果安装Microsoft HPC Pack 2008 SDK或Microsoft Compute ClusterPack时不是装到默认的路径下,那bjam就会抓瞎,找不到mpic++的路径,这时候可以修改一下mpi.jam(在boost_1_46_1	oolsuildv2	ools): 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:UsersAdministratorDesktopoost_1_59_0

      3.在命令行运行C:UsersAdministratorDesktopoost_1_59_0ootstrap.bat,生成bjam.exe

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

    using mpi ;

      5.使用ICU:set ICU_PATH="D:developericu"

      6.安装:bjam stage -s HAVE_ICU=1 -s ICU_PATH=D:developericu --toolset=msvc-10.0 --build-type=complete link=static runtime-link=static --prefix="D:developerBoost" 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

  • 相关阅读:
    安装jupyter
    git 查看分支图
    Docker原生健康检查使用
    压力测试指标判定
    Docker限制日志
    docker link 过时不再用了?那容器互联、服务发现怎么办?(2017年文章,建议使用docker network自定义网络)
    Nginx配置TCP服务负载均衡
    【转让】看看有你喜欢的书籍嘛?--都是我翻过的。
    《SOD框架企业级应用数据架构实战》新书简介和预定
    一年之计在于春,2015开篇:PDF.NET SOD Ver 5.1完全开源
  • 原文地址:https://www.cnblogs.com/prpl/p/5572160.html
Copyright © 2020-2023  润新知