Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Building Boost with Visual Studio

Building Boost 1.55.0 with Visual Studio

Download

  1. Boost 1.55.0(boost_1_55_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_55_0)
    http://www.boost.org/users/history/version_1_55_0.html
    https://github.com/boostorg/boost/tree/boost-1.55.0

  2. HPC Pack 2012 R2 MS-MPI Redistributable Package - 日本語(MSMPISetup.exe)をダウンロードしてインストールする。
    (C:\Program Files\Microsoft MPIにインストールされる。)
    http://www.microsoft.com/ja-jp/download/details.aspx?id=41634

Build

  1. Boost.Build engineの設定を修正する。

    • tools\build\v2\user-config.jam
      58 line (add)

      using mpi ;
      
    • tools\build\v2\tools\mpi.jam
      249 line

      local cluster_pack_path_native = "C:\\Program Files\\Microsoft MPI" ;
      

      251 line

      if [ GLOB $(cluster_pack_path_native)\\Inc : mpi.h ]
      

      260 line

      options = <include>$(cluster_pack_path)/Inc
      
  2. ソースコードを修正する。
    (Boost 1.55.0 Releasenote "Known Bugs with Visual Studio 2013/Visual C++ 12" http://www.boost.org/users/history/version_1_55_0.html)

    • boost\archive\iterators\transform_width.hpp
      33 line
      #include <algorithm>
      
  3. Visual Studioの開発者コマンドプロンプト(Tools\開発者コマンドプロンプト for VS2013)を管理者権限で起動して以下のコマンドを実行する。
    (開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。)

    • Win32

      cd C:\boost_1_55_0
      bootstrap.bat
      b2.exe toolset=msvc-12.0 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      cd C:\boost_1_55_0
      bootstrap.bat
      b2.exe toolset=msvc-12.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      

    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

Building Boost 1.56.0 with Visual Studio

Download

  1. Boost 1.56.0(boost_1_56_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_56_0)
    http://www.boost.org/users/history/version_1_56_0.html
    https://github.com/boostorg/boost/tree/boost-1.56.0

  2. HPC Pack 2012 R2 MS-MPI Redistributable Package - 日本語(MSMPISetup.exe)をダウンロードしてインストールする。
    (C:\Program Files\Microsoft MPIにインストールされる。)
    http://www.microsoft.com/ja-jp/download/details.aspx?id=41634

Build

  1. Boost.Build engineの設定を修正する。

    • tools\build\example\user-config.jam
      user-config.jamをtools\build\にコピーする。
      58 line (add)

      using mpi ;
      
    • tools\build\src\tools\mpi.jam
      249 line

      local cluster_pack_path_native = "C:\\Program Files\\Microsoft MPI" ;
      

      251 line

      if [ GLOB $(cluster_pack_path_native)\\Inc : mpi.h ]
      

      260 line

      options = <include>$(cluster_pack_path)/Inc 
      
  2. Visual Studioの開発者コマンドプロンプト(Tools\開発者コマンドプロンプト for VS2013)を管理者権限で起動して以下のコマンドを実行する。
    (開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。)

    • Win32

      cd C:\boost_1_56_0
      bootstrap.bat
      b2.exe toolset=msvc-12.0 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      cd C:\boost_1_56_0
      bootstrap.bat
      b2.exe toolset=msvc-12.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      

    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。

  3. Boost.MPI(libboost_mpi-vc○○○-mt-1_56.lib)がビルドされない場合、以下の方法でビルドする。

    1. project-config.jamの設定を修正する。

      • project-config.jam
        4 line (add)
        using mpi ;
        
    2. 再度、3のコマンドを実行する。

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

Building Boost 1.57.0 with Visual Studio

Download

  1. Boost 1.57.0(boost_1_57_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_57_0)
    http://www.boost.org/users/history/version_1_57_0.html
    https://github.com/boostorg/boost/tree/boost-1.57.0

  2. HPC Pack 2012 R2 MS-MPI Redistributable Package - 日本語(MSMPISetup.exe)をダウンロードしてインストールする。
    (C:\Program Files\Microsoft MPIにインストールされる。)
    http://www.microsoft.com/ja-jp/download/details.aspx?id=41634

Build

  1. Boost.Build engineの設定を修正する。

    • tools\build\example\user-config.jam
      user-config.jamをtools\build\にコピーする。
      58 line (add)

      using mpi ;
      
    • tools\build\src\tools\mpi.jam
      249 line

      local cluster_pack_path_native = "C:\\Program Files\\Microsoft MPI" ;
      

      251 line

      if [ GLOB $(cluster_pack_path_native)\\Inc : mpi.h ]
      

      260 line

      options = <include>$(cluster_pack_path)/Inc 
      
  2. Visual Studioの開発者コマンドプロンプト(Tools\開発者コマンドプロンプト for VS2013)を管理者権限で起動して以下のコマンドを実行する。
    (開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。)

    • Win32

      cd C:\boost_1_57_0
      bootstrap.bat
      b2.exe toolset=msvc-12.0 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      cd C:\boost_1_57_0
      bootstrap.bat
      b2.exe toolset=msvc-12.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      

    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。

  3. Boost.MPI(libboost_mpi-vc○○○-mt-1_57.lib)がビルドされない場合、以下の方法でビルドする。

    1. project-config.jamの設定を修正する。

      • project-config.jam
        4 line (add)
        using mpi ;
        
    2. 再度、3のコマンドを実行する。

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

Building Boost 1.59.0 with Visual Studio

Download

  1. Boost 1.59.0(boost_1_59_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_59_0)
    http://www.boost.org/users/history/version_1_59_0.html
    https://github.com/boostorg/boost/tree/boost-1.59.0

  2. HPC Pack 2012 R2 MS-MPI Redistributable Package - 日本語(MSMPISetup.exe)をダウンロードしてインストールする。
    (C:\Program Files\Microsoft MPIにインストールされる。)
    http://www.microsoft.com/ja-jp/download/details.aspx?id=41634

Build

  1. Boost.Build Engineの設定を修正する。

    • boost_1_59_0\tools\build\src\tools\mpi.jam
      249 line
      local cluster_pack_path_native = "C:\\Program Files\\Microsoft MPI" ;
      
      251 line
      if [ GLOB $(cluster_pack_path_native)\\Inc : mpi.h ]
      
      260 line
      options = <include>$(cluster_pack_path)/Inc 
      
  2. Visual Studioの開発者コマンドプロンプト(開発者コマンドプロンプト for VS20XX)を管理者権限で起動して以下のコマンドを実行する。
    ※ 開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。

    • Win32

      cd C:\boost_1_59_0
      bootstrap.bat
      
    • x64

      cd C:\boost_1_59_0
      bootstrap.bat
      
  3. 生成されたproject-config.jamの設定を修正する。

    • boost_1_59_0\project-config.jam
      4 line (add)
      using mpi ;
      
  4. Visual Studioの開発者コマンドプロンプト(開発者コマンドプロンプト for VS20XX)に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2012は「11.0」、2013は「12.0」、2015は「14.0」を指定する。

    • Win32

      b2.exe toolset=msvc-14.0 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      b2.exe toolset=msvc-14.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

Building Boost 1.60.0 with Visual Studio

Download

  1. Boost 1.60.0(boost_1_60_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_60_0)
    http://www.boost.org/users/history/version_1_60_0.html
    https://github.com/boostorg/boost/tree/boost-1.60.0

  2. Microsoft MPI 7.0.12437.6(MSMpiSetup.exe)とMicrosoft MPI SDK 7.0.12437.6(msmpisdk.msi)をダウンロードしてインストールする。
    (それぞれC:\Program Files\Microsoft MPIとC:\Program Files (x86)\Microsoft SDKs\MPIにインストールされる。)
    https://www.microsoft.com/en-us/download/details.aspx?id=49926

Build

  1. Boost.Build Engineの設定を修正する。

    • boost_1_60_0\tools\build\src\tools\mpi.jam
      249-251 line

      local microsoft_mpi_sdk_path = "C:\\Program Files (x86)\\Microsoft SDKs\\MPI" ;
      local microsoft_mpi_path = "C:\\Program Files\\Microsoft MPI" ;
      if [ GLOB $(microsoft_mpi_sdk_path)\\Include : mpi.h ]
      

      260-262 line

      options = <include>$(microsoft_mpi_sdk_path)/Include
                <address-model>64:<library-path>$(microsoft_mpi_sdk_path)/Lib/x64
                <library-path>$(microsoft_mpi_sdk_path)/Lib/x86
      

      268 line

      .mpirun = "\"$(microsoft_mpi_path)\\Bin\\mpiexec.exe"\" ;
      
  2. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")を管理者権限で起動して以下のコマンドを実行する。
    ※ 開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。

    • Win32

      cd C:\boost_1_60_0
      bootstrap.bat
      
    • x64

      cd C:\boost_1_60_0
      bootstrap.bat
      
  3. 生成されたproject-config.jamの設定を修正する。

    • boost_1_60_0\project-config.jam
      4 line (add)
      using mpi ;
      
  4. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2012は「11.0」、2013は「12.0」、2015は「14.0」を指定する。

    • Win32

      b2.exe toolset=msvc-14.0 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      b2.exe toolset=msvc-14.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

Building Boost 1.61.0 with Visual Studio

Download

  1. Boost 1.61.0(boost_1_61_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_61_0)
    http://www.boost.org/users/history/version_1_61_0.html
    https://github.com/boostorg/boost/tree/boost-1.61.0

  2. Microsoft MPI 7.0.12437.6(MSMpiSetup.exe)とMicrosoft MPI SDK 7.0.12437.6(msmpisdk.msi)をダウンロードしてインストールする。
    (それぞれC:\Program Files\Microsoft MPIとC:\Program Files (x86)\Microsoft SDKs\MPIにインストールされる。)
    https://www.microsoft.com/en-us/download/details.aspx?id=49926

Build

  1. Boost.Build Engineの設定を修正する。

    • boost_1_61_0\tools\build\src\tools\mpi.jam
      249-251 line

      local microsoft_mpi_sdk_path = "C:\\Program Files (x86)\\Microsoft SDKs\\MPI" ;
      local microsoft_mpi_path = "C:\\Program Files\\Microsoft MPI" ;
      if [ GLOB $(microsoft_mpi_sdk_path)\\Include : mpi.h ]
      

      260-262 line

      options = <include>$(microsoft_mpi_sdk_path)/Include
                <address-model>64:<library-path>$(microsoft_mpi_sdk_path)/Lib/x64
                <library-path>$(microsoft_mpi_sdk_path)/Lib/x86
      

      268 line

      .mpirun = "\"$(microsoft_mpi_path)\\Bin\\mpiexec.exe"\" ;
      
  2. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")を管理者権限で起動して以下のコマンドを実行する。
    ※ 開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。

    • Win32

      cd C:\boost_1_61_0
      bootstrap.bat
      
    • x64

      cd C:\boost_1_61_0
      bootstrap.bat
      
  3. 生成されたproject-config.jamの設定を修正する。

    • boost_1_61_0\project-config.jam
      4 line (add)
      using mpi ;
      
  4. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2012は「11.0」、2013は「12.0」、2015は「14.0」を指定する。

    • Win32

      b2.exe toolset=msvc-14.0 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      b2.exe toolset=msvc-14.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

Building Boost 1.63.0 with Visual Studio

Download

  1. Boost 1.63.0(boost_1_63_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_63_0)
    http://www.boost.org/users/history/version_1_63_0.html
    https://github.com/boostorg/boost/tree/boost-1.63.0

  2. Microsoft MPI 7.1.12437.25(MSMpiSetup.exe)とMicrosoft MPI SDK 7.1.12437.25(msmpisdk.msi)をダウンロードしてインストールする。
    (それぞれC:\Program Files\Microsoft MPIとC:\Program Files (x86)\Microsoft SDKs\MPIにインストールされる。)
    https://www.microsoft.com/en-us/download/details.aspx?id=52981

Build

  1. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")を管理者権限で起動して以下のコマンドを実行する。
    ※ 開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。

    • Win32

      cd C:\boost_1_63_0
      bootstrap.bat
      
    • x64

      cd C:\boost_1_63_0
      bootstrap.bat
      
  2. 生成されたproject-config.jamの設定を修正する。

    • boost_1_63_0\project-config.jam
      4 line (add)
      using mpi ;
      
  3. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2012は「11.0」、2013は「12.0」、2015は「14.0」を指定する。

    • Win32

      b2.exe toolset=msvc-14.0 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      b2.exe toolset=msvc-14.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

Building Boost 1.64.0 with Visual Studio

Download

  1. Boost 1.64.0(boost_1_64_0.zip)をダウンロードしてファイルを解凍する。(C:\boost_1_64_0)
    http://www.boost.org/users/history/version_1_64_0.html
    https://github.com/boostorg/boost/tree/boost-1.64.0

  2. Microsoft MPI 8.0.12438.0(MSMpiSetup.exe)とMicrosoft MPI SDK 8.0.12438.0(msmpisdk.msi)をダウンロードしてインストールする。
    (それぞれC:\Program Files\Microsoft MPIとC:\Program Files (x86)\Microsoft SDKs\MPIにインストールされる。)
    https://www.microsoft.com/en-us/download/details.aspx?id=54607

Build

  1. 以下のプルリクエストの修正をマージする。

  2. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")を管理者権限で起動して以下のコマンドを実行する。
    ※ 開発者コマンドプロンプトを管理者権限で起動しないとinstallが失敗する。

    • Win32

      cd C:\boost_1_64_0
      bootstrap.bat
      
    • x64

      cd C:\boost_1_64_0
      bootstrap.bat
      
  3. 生成されたproject-config.jamの設定を修正する。

    • boost_1_64_0\project-config.jam
      4 line (add)
      using mpi ;
      
  4. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2012は「11.0」、2013は「12.0」、2015は「14.0」、2017は「14.1」を指定する。

    • Win32

      b2.exe toolset=msvc-14.1 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      b2.exe toolset=msvc-14.1 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      
  5. ビルドが成功すると<prefix>/libに以下のファイルが生成される。  

    • libboost_atomic-vc141-mt-1_64.lib
    • libboost_atomic-vc141-mt-gd-1_64.lib
    • libboost_chrono-vc141-mt-1_64.lib
    • libboost_chrono-vc141-mt-gd-1_64.lib
    • libboost_container-vc141-mt-1_64.lib
    • libboost_container-vc141-mt-gd-1_64.lib
    • libboost_context-vc141-mt-1_64.lib
    • libboost_context-vc141-mt-gd-1_64.lib
    • libboost_coroutine-vc141-mt-1_64.lib
    • libboost_coroutine-vc141-mt-gd-1_64.lib
    • libboost_date_time-vc141-mt-1_64.lib
    • libboost_date_time-vc141-mt-gd-1_64.lib
    • libboost_exception-vc141-mt-1_64.lib
    • libboost_exception-vc141-mt-gd-1_64.lib
    • libboost_fiber-vc141-mt-1_64.lib
    • libboost_fiber-vc141-mt-gd-1_64.lib
    • libboost_filesystem-vc141-mt-1_64.lib
    • libboost_filesystem-vc141-mt-gd-1_64.lib
    • libboost_graph-vc141-mt-1_64.lib
    • libboost_graph-vc141-mt-gd-1_64.lib
    • libboost_graph_parallel-vc141-mt-1_64.lib
    • libboost_graph_parallel-vc141-mt-gd-1_64.lib
    • libboost_iostreams-vc141-mt-1_64.lib
    • libboost_iostreams-vc141-mt-gd-1_64.lib
    • libboost_locale-vc141-mt-1_64.lib
    • libboost_locale-vc141-mt-gd-1_64.lib
    • libboost_log-vc141-mt-1_64.lib
    • libboost_log-vc141-mt-gd-1_64.lib
    • libboost_log_setup-vc141-mt-1_64.lib
    • libboost_log_setup-vc141-mt-gd-1_64.lib
    • libboost_math_c99-vc141-mt-1_64.lib
    • libboost_math_c99-vc141-mt-gd-1_64.lib
    • libboost_math_c99f-vc141-mt-1_64.lib
    • libboost_math_c99f-vc141-mt-gd-1_64.lib
    • libboost_math_c99l-vc141-mt-1_64.lib
    • libboost_math_c99l-vc141-mt-gd-1_64.lib
    • libboost_math_tr1-vc141-mt-1_64.lib
    • libboost_math_tr1-vc141-mt-gd-1_64.lib
    • libboost_math_tr1f-vc141-mt-1_64.lib
    • libboost_math_tr1f-vc141-mt-gd-1_64.lib
    • libboost_math_tr1l-vc141-mt-1_64.lib
    • libboost_math_tr1l-vc141-mt-gd-1_64.lib
    • libboost_mpi-vc141-mt-1_64.lib
    • libboost_mpi-vc141-mt-gd-1_64.lib
    • libboost_prg_exec_monitor-vc141-mt-1_64.lib
    • libboost_prg_exec_monitor-vc141-mt-gd-1_64.lib
    • libboost_program_options-vc141-mt-1_64.lib
    • libboost_program_options-vc141-mt-gd-1_64.lib
    • libboost_random-vc141-mt-1_64.lib
    • libboost_random-vc141-mt-gd-1_64.lib
    • libboost_regex-vc141-mt-1_64.lib
    • libboost_regex-vc141-mt-gd-1_64.lib
    • libboost_serialization-vc141-mt-1_64.lib
    • libboost_serialization-vc141-mt-gd-1_64.lib
    • libboost_signals-vc141-mt-1_64.lib
    • libboost_signals-vc141-mt-gd-1_64.lib
    • libboost_system-vc141-mt-1_64.lib
    • libboost_system-vc141-mt-gd-1_64.lib
    • libboost_test_exec_monitor-vc141-mt-1_64.lib
    • libboost_test_exec_monitor-vc141-mt-gd-1_64.lib
    • libboost_thread-vc141-mt-1_64.lib
    • libboost_thread-vc141-mt-gd-1_64.lib
    • libboost_timer-vc141-mt-1_64.lib
    • libboost_timer-vc141-mt-gd-1_64.lib
    • libboost_type_erasure-vc141-mt-1_64.lib
    • libboost_type_erasure-vc141-mt-gd-1_64.lib
    • libboost_unit_test_framework-vc141-mt-1_64.lib
    • libboost_unit_test_framework-vc141-mt-gd-1_64.lib
    • libboost_wave-vc141-mt-1_64.lib
    • libboost_wave-vc141-mt-gd-1_64.lib
    • libboost_wserialization-vc141-mt-1_64.lib
    • libboost_wserialization-vc141-mt-gd-1_64.lib

Option : Build Boost.Python and Boost.NumPy

  1. Python 3.6.1(python-3.6.1.exeまたはpython-3.6.1-amd64.exe)をダウンロードしてインストールする。(C:\Python36)
    カスタムインストールを選択、以下の設定でインストールする。
    https://www.python.org/downloads/release/python-361/

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python36\

  2. NumPy 1.12.1(numpy‑1.12.1+mkl‑cp36‑cp36m‑win32.whlまたはnumpy-1.12.1+mkl-cp36-cp36m-win_amd64.whl)のWheelをダウンロードする。(C:\)
    コマンドプロンプトで以下のコマンドを実行する。
    http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

    • Win32
    cd C:\
    pip install numpy‑1.12.1+mkl‑cp36‑cp36m‑win32.whl
    
    • x64
    cd C:\
    pip install numpy-1.12.1+mkl-cp36-cp36m-win_amd64.whl
    
  3. project-config.jamの設定を修正する。
    ※ Visual C++のバージョン(14.1)とコンパイラ(cl.exe)を指定する。
    ※ Boost.MPIと同時にビルドできないため、設定(using mpi ; )をコメントアウトする。
    ※ Pythonのバージョン(3.6)、ディレクトリ、インクルードディレクトリ、ライブラリディレクトリ、アドレスモデルを指定する。

    • Win32
      3-7 line (fix and add)

      using msvc : 14.1 : "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\bin\HostX64\x86\cl.exe" ; 
      
      # using mpi ;
      
      using python : 3.6 : C:\\Python36 : C:\\Python36\\include : C:\\Python36\\libs : ; 
      
    • x64
      3-7 line (fix and add)

      using msvc : 14.1 : "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe" ; 
      
      # using mpi ;
      
      using python : 3.6 : C:\\Python36 : C:\\Python36\\include : C:\\Python36\\libs : <address-model>64 ; 
      
  4. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2012は「11.0」、2013は「12.0」、2015は「14.0」、2017は「14.1」を指定する。

    • Win32

      b2.exe toolset=msvc-14.1 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8
      
    • x64

      b2.exe toolset=msvc-14.1 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
      
  5. ビルドが成功すると<prefix>/libに以下のファイルが生成される。

    • libboost_numpy3-vc141-mt-1_64.lib
    • libboost_numpy3-vc141-mt-gd-1_64.lib
    • libboost_python3-vc141-mt-1_64.lib
    • libboost_python3-vc141-mt-gd-1_64.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.6.tar.gz)とzlib(zlib1211.zip)をダウンロードして展開する。(C:\)
    http://www.bzip.org/downloads.html
    http://zlib.net/

  2. Visual Studioの開発者コマンドプロンプト("開発者コマンドプロンプト for VS20XX"または"VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2012は「11.0」、2013は「12.0」、2015は「14.0」、2017は「14.1」を指定する。

    • Win32

      b2.exe toolset=msvc-14.1 address-model=32 --build-dir=build\x86 install --prefix="C:\Program Files (x86)\Boost" -j8 -s BZIP2_SOURCE="C:\bzip2-1.0.6" -s ZLIB_SOURCE="C:\zlib-1.2.11" 
      
    • x64

      b2.exe toolset=msvc-14.1 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8 -s BZIP2_SOURCE="C:\bzip2-1.0.6" -s ZLIB_SOURCE="C:\zlib-1.2.11"
      
  3. ビルドが成功すると<prefix>/libに以下のファイルが生成される。  

    • libboost_bzip2-vc141-mt-1_64.lib
    • libboost_bzip2-vc141-mt-gd-1_64.lib
    • libboost_zlib-vc141-mt-1_64.lib
    • libboost_zlib-vc141-mt-gd-1_64.lib

Environment Variable

  1. 環境変数BOOST_ROOTを作成してBoostのパス(C:\Program Files\Boost)を設定する。

I still got "warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam"

cobek commented Aug 14, 2015

HI,
I am completely new in this Boost thing, but hopefully my answer will have some sense.
I think that you have to move user-config.jam from tools\build\example\ directory to tools\build\src\ directory.
At least it worked in my case to generate mpi library.

Thanks for the detailed information.
I found some path trouble when running the step 4 with VS2013. The issue and its solution is described in the link below:

http://stackoverflow.com/questions/9433311/error-in-building-boost-mpi-in-msvc-2010/32635378#32635378

Thank you for your blogs.
I still have some issues. I built boost 1.61 with VS2013
When I build it with b2.exe toolset=msvc-12.0 address-model=64 --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j8
Some targets(chrono thread) is missing. such as libboost_chrono-vc120-mt-1_61.lib libboost_thread-vc120-mt-1_61.lib is not built.
Do you know why this happens?

xiaoxie5002 commented Oct 25, 2016

local microsoft_mpi_sdk_path = "C:\Program Files (x86)\Microsoft SDKs\MPI" ;
local microsoft_mpi_path = "C:\Program Files\Microsoft MPI" ;
if [ GLOB $(microsoft_mpi_sdk_path)\Include : mpi.h ]

Did some guys see \? In windows 7, I think \ is correct.

nouei commented Feb 21, 2017

Thank you so much.

denix56 commented Mar 14, 2017

Could you please add guide for building Boost and PCL using Visual Studio 2017?

If I want to build PCL with Visual Studio 2015 I always get the same error message:

Error LNK2038 mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in PointCloudVisualization.obj PointCloudVisualization C:\Users\Anna\documents\visual studio 2015\Projects\PointCloudVisualization\PointCloudVisualization\libboost_system-vc140-mt-1_64.lib(error_code.obj) 1

How can I solve this problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment