Skip to content

Instantly share code, notes, and snippets.

@UnaNancyOwen
Last active January 9, 2024 06:45
Show Gist options
  • Star 10 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save UnaNancyOwen/d879a41710e9c05025f8 to your computer and use it in GitHub Desktop.
Save UnaNancyOwen/d879a41710e9c05025f8 to your computer and use it in GitHub Desktop.
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. 以下のプルリクエストの修正をマージする。

    • Replace boost::serialization::detail::get_data function. #39 | boostorg/mpi
      boostorg/mpi#39
  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)を設定する。

Building Boost 1.68.0 with Visual Studio

Download

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

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

Build

  1. 以下のコミットの修正をマージする。

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

    • Win32

      cd C:\boost_1_68_0
      bootstrap.bat
      
    • x64

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

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

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python37\

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

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

    • Win32
      3-7 line (fix and add)

      using msvc : 14.1 : "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX64\x86\cl.exe" ; 
      
      # using mpi ;
      
      using python : 3.7 : C:\\Python37 : C:\\Python37\\include : C:\\Python37\\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.15.26726\bin\HostX64\x64\cl.exe" ; 
      
      # using mpi ;
      
      using python : 3.7 : C:\\Python37 : C:\\Python37\\include : C:\\Python37\\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_68.lib
    • libboost_numpy3-vc141-mt-gd-1_68.lib
    • libboost_python3-vc141-mt-1_68.lib
    • libboost_python3-vc141-mt-gd-1_68.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_68.lib
    • libboost_bzip2-vc141-mt-gd-1_68.lib
    • libboost_zlib-vc141-mt-1_68.lib
    • libboost_zlib-vc141-mt-gd-1_68.lib

Environment Variable

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

Building Boost 1.72.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

  1. 以下のコミットの修正をマージする。

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

    • Win32

      cd C:\boost_1_72_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

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

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python38\

  2. NumPyをインストールする。

    python -m pip install --upgrade pip
    python -m pip install numpy
    
  3. project-config.jamの設定を修正する。
    ※ Visual C++のバージョン(14.2)とコンパイラ(cl.exe)を指定する。
    ※ Boost.MPIと同時にビルドできないため、設定(using mpi ; )をコメントアウトする。
    ※ Pythonのバージョン(3.8)、ディレクトリ、インクルードディレクトリ、ライブラリディレクトリ、アドレスモデルを指定する。

    • Win32
      3-7 line (fix and add)

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

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

    • Win32

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

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

    • libboost_numpy3-vc142-mt-1_72.lib
    • libboost_numpy3-vc142-mt-gd-1_72.lib
    • libboost_python3-vc142-mt-1_72.lib
    • libboost_python3-vc142-mt-gd-1_72.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.6.tar.gz)とzlib(zlib1211.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

      b2.exe toolset=msvc-14.2 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.2 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-vc142-mt-1_72.lib
    • libboost_bzip2-vc142-mt-gd-1_72.lib
    • libboost_zlib-vc142-mt-1_72.lib
    • libboost_zlib-vc142-mt-gd-1_72.lib

Environment Variable

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

Building Boost 1.73.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

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

    • Win32

      cd C:\boost_1_73_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

    • libboost_atomic-vc142-mt-1_73.lib
    • libboost_atomic-vc142-mt-gd-1_73.lib
    • libboost_chrono-vc142-mt-1_73.lib
    • libboost_chrono-vc142-mt-gd-1_73.lib
    • libboost_container-vc142-mt-1_73.lib
    • libboost_container-vc142-mt-gd-1_73.lib
    • libboost_context-vc142-mt-1_73.lib
    • libboost_context-vc142-mt-gd-1_73.lib
    • libboost_contract-vc142-mt-x64-1_73.lib
    • libboost_contract-vc142-mt-gd-x64-1_73.lib
    • libboost_coroutine-vc142-mt-1_73.lib
    • libboost_coroutine-vc142-mt-gd-1_73.lib
    • libboost_date_time-vc142-mt-1_73.lib
    • libboost_date_time-vc142-mt-gd-1_73.lib
    • libboost_exception-vc142-mt-1_73.lib
    • libboost_exception-vc142-mt-gd-1_73.lib
    • libboost_fiber-vc142-mt-1_73.lib
    • libboost_fiber-vc142-mt-gd-1_73.lib
    • libboost_filesystem-vc142-mt-1_73.lib
    • libboost_filesystem-vc142-mt-gd-1_73.lib
    • libboost_graph_parallel-vc142-mt-1_73.lib
    • libboost_graph_parallel-vc142-mt-gd-1_73.lib
    • libboost_graph-vc142-mt-1_73.lib
    • libboost_graph-vc142-mt-gd-1_73.lib
    • libboost_iostreams-vc142-mt-1_73.lib
    • libboost_iostreams-vc142-mt-gd-1_73.lib
    • libboost_locale-vc142-mt-1_73.lib
    • libboost_locale-vc142-mt-gd-1_73.lib
    • libboost_log-vc142-mt-1_73.lib
    • libboost_log-vc142-mt-gd-1_73.lib
    • libboost_log_setup-vc142-mt-1_73.lib
    • libboost_log_setup-vc142-mt-gd-1_73.lib
    • libboost_math_c99f-vc142-mt-1_73.lib
    • libboost_math_c99f-vc142-mt-gd-1_73.lib
    • libboost_math_c99l-vc142-mt-1_73.lib
    • libboost_math_c99l-vc142-mt-gd-1_73.lib
    • libboost_math_c99-vc142-mt-1_73.lib
    • libboost_math_c99-vc142-mt-gd-1_73.lib
    • libboost_math_tr1f-vc142-mt-1_73.lib
    • libboost_math_tr1f-vc142-mt-gd-1_73.lib
    • libboost_math_tr1l-vc142-mt-1_73.lib
    • libboost_math_tr1l-vc142-mt-gd-1_73.lib
    • libboost_math_tr1-vc142-mt-1_73.lib
    • libboost_math_tr1-vc142-mt-gd-1_73.lib
    • libboost_mpi-vc142-mt-1_73.lib
    • libboost_mpi-vc142-mt-gd-1_73.lib
    • libboost_nowide-vc142-mt-x64-1_73.lib
    • libboost_nowide-vc142-mt-gd-x64-1_73.lib
    • libboost_prg_exec_monitor-vc142-mt-1_73.lib
    • libboost_prg_exec_monitor-vc142-mt-gd-1_73.lib
    • libboost_program_options-vc142-mt-1_73.lib
    • libboost_program_options-vc142-mt-gd-1_73.lib
    • libboost_random-vc142-mt-1_73.lib
    • libboost_random-vc142-mt-gd-1_73.lib
    • libboost_regex-vc142-mt-1_73.lib
    • libboost_regex-vc142-mt-gd-1_73.lib
    • libboost_serialization-vc142-mt-1_73.lib
    • libboost_serialization-vc142-mt-gd-1_73.lib
    • libboost_stacktrace_noop-vc142-mt-1_73.lib
    • libboost_stacktrace_noop-vc142-mt-gd-1_73.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-1_73.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-gd-1_73.lib
    • libboost_stacktrace_windbg-vc142-mt-1_73.lib
    • libboost_stacktrace_windbg-vc142-mt-gd-1_73.lib
    • libboost_system-vc142-mt-1_73.lib
    • libboost_system-vc142-mt-gd-1_73.lib
    • libboost_test_exec_monitor-vc142-mt-1_73.lib
    • libboost_test_exec_monitor-vc142-mt-gd-1_73.lib
    • libboost_thread-vc142-mt-1_73.lib
    • libboost_thread-vc142-mt-gd-1_73.lib
    • libboost_timer-vc142-mt-1_73.lib
    • libboost_timer-vc142-mt-gd-1_73.lib
    • libboost_type_erasure-vc142-mt-1_73.lib
    • libboost_type_erasure-vc142-mt-gd-1_73.lib
    • libboost_unit_test_framework-vc142-mt-1_73.lib
    • libboost_unit_test_framework-vc142-mt-gd-1_73.lib
    • libboost_wave-vc142-mt-1_73.lib
    • libboost_wave-vc142-mt-gd-1_73.lib
    • libboost_wserialization-vc142-mt-1_73.lib
    • libboost_wserialization-vc142-mt-gd-1_73.lib

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python38\

  2. NumPyをインストールする。

    python -m pip install --upgrade pip
    python -m pip install numpy
    
  3. project-config.jamの設定を修正する。
    ※ Visual C++のバージョン(14.2)とコンパイラ(cl.exe)を指定する。
    ※ Boost.MPIと同時にビルドできないため、設定(using mpi ; )をコメントアウトする。
    ※ Pythonのバージョン(3.8)、ディレクトリ、インクルードディレクトリ、ライブラリディレクトリ、アドレスモデルを指定する。

    • Win32
      3-7 line (fix and add)

      using msvc : 14.2 : "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.25.28610\bin\HostX64\x86\cl.exe" ; 
      
      # using mpi ;
      
      using python : 3.8 : C:\\Python38 : C:\\Python38\\include : C:\\Python38\\libs : ; 
      
    • x64
      3-7 line (fix and add)

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

    • Win32

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

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

    • libboost_numpy3-vc142-mt-1_73.lib
    • libboost_numpy3-vc142-mt-gd-1_73.lib
    • libboost_python3-vc142-mt-1_73.lib
    • libboost_python3-vc142-mt-gd-1_73.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.6.tar.gz)とzlib(zlib1211.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

      b2.exe toolset=msvc-14.2 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.2 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-vc142-mt-1_73.lib
    • libboost_bzip2-vc142-mt-gd-1_73.lib
    • libboost_zlib-vc142-mt-1_73.lib
    • libboost_zlib-vc142-mt-gd-1_73.lib

Environment Variable

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

Building Boost 1.74.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

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

    • Win32

      cd C:\boost_1_74_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

    • libboost_atomic-vc142-mt-1_74.lib
    • libboost_atomic-vc142-mt-gd-1_74.lib
    • libboost_chrono-vc142-mt-1_74.lib
    • libboost_chrono-vc142-mt-gd-1_74.lib
    • libboost_container-vc142-mt-1_74.lib
    • libboost_container-vc142-mt-gd-1_74.lib
    • libboost_context-vc142-mt-1_74.lib
    • libboost_context-vc142-mt-gd-1_74.lib
    • libboost_contract-vc142-mt-x64-1_74.lib
    • libboost_contract-vc142-mt-gd-x64-1_74.lib
    • libboost_coroutine-vc142-mt-1_74.lib
    • libboost_coroutine-vc142-mt-gd-1_74.lib
    • libboost_date_time-vc142-mt-1_74.lib
    • libboost_date_time-vc142-mt-gd-1_74.lib
    • libboost_exception-vc142-mt-1_74.lib
    • libboost_exception-vc142-mt-gd-1_74.lib
    • libboost_fiber-vc142-mt-1_74.lib
    • libboost_fiber-vc142-mt-gd-1_74.lib
    • libboost_filesystem-vc142-mt-1_74.lib
    • libboost_filesystem-vc142-mt-gd-1_74.lib
    • libboost_graph_parallel-vc142-mt-1_74.lib
    • libboost_graph_parallel-vc142-mt-gd-1_74.lib
    • libboost_graph-vc142-mt-1_74.lib
    • libboost_graph-vc142-mt-gd-1_74.lib
    • libboost_iostreams-vc142-mt-1_74.lib
    • libboost_iostreams-vc142-mt-gd-1_74.lib
    • libboost_locale-vc142-mt-1_74.lib
    • libboost_locale-vc142-mt-gd-1_74.lib
    • libboost_log-vc142-mt-1_74.lib
    • libboost_log-vc142-mt-gd-1_74.lib
    • libboost_log_setup-vc142-mt-1_74.lib
    • libboost_log_setup-vc142-mt-gd-1_74.lib
    • libboost_math_c99f-vc142-mt-1_74.lib
    • libboost_math_c99f-vc142-mt-gd-1_74.lib
    • libboost_math_c99l-vc142-mt-1_74.lib
    • libboost_math_c99l-vc142-mt-gd-1_74.lib
    • libboost_math_c99-vc142-mt-1_74.lib
    • libboost_math_c99-vc142-mt-gd-1_74.lib
    • libboost_math_tr1f-vc142-mt-1_74.lib
    • libboost_math_tr1f-vc142-mt-gd-1_74.lib
    • libboost_math_tr1l-vc142-mt-1_74.lib
    • libboost_math_tr1l-vc142-mt-gd-1_74.lib
    • libboost_math_tr1-vc142-mt-1_74.lib
    • libboost_math_tr1-vc142-mt-gd-1_74.lib
    • libboost_mpi-vc142-mt-1_74.lib
    • libboost_mpi-vc142-mt-gd-1_74.lib
    • libboost_nowide-vc142-mt-x64-1_74.lib
    • libboost_nowide-vc142-mt-gd-x64-1_74.lib
    • libboost_prg_exec_monitor-vc142-mt-1_74.lib
    • libboost_prg_exec_monitor-vc142-mt-gd-1_74.lib
    • libboost_program_options-vc142-mt-1_74.lib
    • libboost_program_options-vc142-mt-gd-1_74.lib
    • libboost_random-vc142-mt-1_74.lib
    • libboost_random-vc142-mt-gd-1_74.lib
    • libboost_regex-vc142-mt-1_74.lib
    • libboost_regex-vc142-mt-gd-1_74.lib
    • libboost_serialization-vc142-mt-1_74.lib
    • libboost_serialization-vc142-mt-gd-1_74.lib
    • libboost_stacktrace_noop-vc142-mt-1_74.lib
    • libboost_stacktrace_noop-vc142-mt-gd-1_74.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-1_74.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-gd-1_74.lib
    • libboost_stacktrace_windbg-vc142-mt-1_74.lib
    • libboost_stacktrace_windbg-vc142-mt-gd-1_74.lib
    • libboost_system-vc142-mt-1_74.lib
    • libboost_system-vc142-mt-gd-1_74.lib
    • libboost_test_exec_monitor-vc142-mt-1_74.lib
    • libboost_test_exec_monitor-vc142-mt-gd-1_74.lib
    • libboost_thread-vc142-mt-1_74.lib
    • libboost_thread-vc142-mt-gd-1_74.lib
    • libboost_timer-vc142-mt-1_74.lib
    • libboost_timer-vc142-mt-gd-1_74.lib
    • libboost_type_erasure-vc142-mt-1_74.lib
    • libboost_type_erasure-vc142-mt-gd-1_74.lib
    • libboost_unit_test_framework-vc142-mt-1_74.lib
    • libboost_unit_test_framework-vc142-mt-gd-1_74.lib
    • libboost_wave-vc142-mt-1_74.lib
    • libboost_wave-vc142-mt-gd-1_74.lib
    • libboost_wserialization-vc142-mt-1_74.lib
    • libboost_wserialization-vc142-mt-gd-1_74.lib

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python38\

  2. NumPyをインストールする。

    python -m pip install --upgrade pip
    python -m pip install numpy
    
  3. project-config.jamの設定を修正する。
    ※ Visual C++のバージョン(14.2)とコンパイラ(cl.exe)を指定する。
    ※ Boost.MPIと同時にビルドできないため、設定(using mpi ; )をコメントアウトする。
    ※ Pythonのバージョン(3.8)、ディレクトリ、インクルードディレクトリ、ライブラリディレクトリ、アドレスモデルを指定する。

    • Win32
      3-7 line (fix and add)

      using msvc : 14.2 : "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\bin\HostX64\x86\cl.exe" ; 
      
      # using mpi ;
      
      using python : 3.8 : C:\\Python38 : C:\\Python38\\include : C:\\Python38\\libs : ; 
      
    • x64
      3-7 line (fix and add)

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

    • Win32

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

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

    • libboost_numpy3-vc142-mt-1_74.lib
    • libboost_numpy3-vc142-mt-gd-1_74.lib
    • libboost_python3-vc142-mt-1_74.lib
    • libboost_python3-vc142-mt-gd-1_74.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.6.tar.gz)とzlib(zlib1211.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

      b2.exe toolset=msvc-14.2 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.2 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-vc142-mt-1_74.lib
    • libboost_bzip2-vc142-mt-gd-1_74.lib
    • libboost_zlib-vc142-mt-1_74.lib
    • libboost_zlib-vc142-mt-gd-1_74.lib

Environment Variable

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

Building Boost 1.75.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

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

    • Win32

      cd C:\boost_1_75_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

    • libboost_atomic-vc142-mt-1_75.lib
    • libboost_atomic-vc142-mt-gd-1_75.lib
    • libboost_chrono-vc142-mt-1_75.lib
    • libboost_chrono-vc142-mt-gd-1_75.lib
    • libboost_container-vc142-mt-1_75.lib
    • libboost_container-vc142-mt-gd-1_75.lib
    • libboost_context-vc142-mt-1_75.lib
    • libboost_context-vc142-mt-gd-1_75.lib
    • libboost_contract-vc142-mt-x64-1_75.lib
    • libboost_contract-vc142-mt-gd-x64-1_75.lib
    • libboost_coroutine-vc142-mt-1_75.lib
    • libboost_coroutine-vc142-mt-gd-1_75.lib
    • libboost_date_time-vc142-mt-1_75.lib
    • libboost_date_time-vc142-mt-gd-1_75.lib
    • libboost_exception-vc142-mt-1_75.lib
    • libboost_exception-vc142-mt-gd-1_75.lib
    • libboost_fiber-vc142-mt-1_75.lib
    • libboost_fiber-vc142-mt-gd-1_75.lib
    • libboost_filesystem-vc142-mt-1_75.lib
    • libboost_filesystem-vc142-mt-gd-1_75.lib
    • libboost_graph_parallel-vc142-mt-1_75.lib
    • libboost_graph_parallel-vc142-mt-gd-1_75.lib
    • libboost_graph-vc142-mt-1_75.lib
    • libboost_graph-vc142-mt-gd-1_75.lib
    • libboost_iostreams-vc142-mt-1_75.lib
    • libboost_iostreams-vc142-mt-gd-1_75.lib
    • libboost_locale-vc142-mt-1_75.lib
    • libboost_locale-vc142-mt-gd-1_75.lib
    • libboost_log-vc142-mt-1_75.lib
    • libboost_log-vc142-mt-gd-1_75.lib
    • libboost_log_setup-vc142-mt-1_75.lib
    • libboost_log_setup-vc142-mt-gd-1_75.lib
    • libboost_math_c99f-vc142-mt-1_75.lib
    • libboost_math_c99f-vc142-mt-gd-1_75.lib
    • libboost_math_c99l-vc142-mt-1_75.lib
    • libboost_math_c99l-vc142-mt-gd-1_75.lib
    • libboost_math_c99-vc142-mt-1_75.lib
    • libboost_math_c99-vc142-mt-gd-1_75.lib
    • libboost_math_tr1f-vc142-mt-1_75.lib
    • libboost_math_tr1f-vc142-mt-gd-1_75.lib
    • libboost_math_tr1l-vc142-mt-1_75.lib
    • libboost_math_tr1l-vc142-mt-gd-1_75.lib
    • libboost_math_tr1-vc142-mt-1_75.lib
    • libboost_math_tr1-vc142-mt-gd-1_75.lib
    • libboost_mpi-vc142-mt-1_75.lib
    • libboost_mpi-vc142-mt-gd-1_75.lib
    • libboost_nowide-vc142-mt-x64-1_75.lib
    • libboost_nowide-vc142-mt-gd-x64-1_75.lib
    • libboost_prg_exec_monitor-vc142-mt-1_75.lib
    • libboost_prg_exec_monitor-vc142-mt-gd-1_75.lib
    • libboost_program_options-vc142-mt-1_75.lib
    • libboost_program_options-vc142-mt-gd-1_75.lib
    • libboost_random-vc142-mt-1_75.lib
    • libboost_random-vc142-mt-gd-1_75.lib
    • libboost_regex-vc142-mt-1_75.lib
    • libboost_regex-vc142-mt-gd-1_75.lib
    • libboost_serialization-vc142-mt-1_75.lib
    • libboost_serialization-vc142-mt-gd-1_75.lib
    • libboost_stacktrace_noop-vc142-mt-1_75.lib
    • libboost_stacktrace_noop-vc142-mt-gd-1_75.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-1_75.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-gd-1_75.lib
    • libboost_stacktrace_windbg-vc142-mt-1_75.lib
    • libboost_stacktrace_windbg-vc142-mt-gd-1_75.lib
    • libboost_system-vc142-mt-1_75.lib
    • libboost_system-vc142-mt-gd-1_75.lib
    • libboost_test_exec_monitor-vc142-mt-1_75.lib
    • libboost_test_exec_monitor-vc142-mt-gd-1_75.lib
    • libboost_thread-vc142-mt-1_75.lib
    • libboost_thread-vc142-mt-gd-1_75.lib
    • libboost_timer-vc142-mt-1_75.lib
    • libboost_timer-vc142-mt-gd-1_75.lib
    • libboost_type_erasure-vc142-mt-1_75.lib
    • libboost_type_erasure-vc142-mt-gd-1_75.lib
    • libboost_unit_test_framework-vc142-mt-1_75.lib
    • libboost_unit_test_framework-vc142-mt-gd-1_75.lib
    • libboost_wave-vc142-mt-1_75.lib
    • libboost_wave-vc142-mt-gd-1_75.lib
    • libboost_wserialization-vc142-mt-1_75.lib
    • libboost_wserialization-vc142-mt-gd-1_75.lib

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python38\

  2. NumPyをインストールする。

    python -m pip install --upgrade pip
    python -m pip install numpy
    
  3. project-config.jamの設定を修正する。
    ※ Visual C++のバージョン(14.2)とコンパイラ(cl.exe)を指定する。
    ※ Boost.MPIと同時にビルドできないため、設定(using mpi ; )をコメントアウトする。
    ※ Pythonのバージョン(3.8)、ディレクトリ、インクルードディレクトリ、ライブラリディレクトリ、アドレスモデルを指定する。

    • Win32
      3-7 line (fix and add)

      using msvc : 14.2 : "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.28.29333\bin\HostX64\x86\cl.exe" ; 
      
      # using mpi ;
      
      using python : 3.8 : C:\\Python38 : C:\\Python38\\include : C:\\Python38\\libs : ; 
      
    • x64
      3-7 line (fix and add)

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

    • Win32

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

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

    • libboost_numpy3-vc142-mt-1_75.lib
    • libboost_numpy3-vc142-mt-gd-1_75.lib
    • libboost_python3-vc142-mt-1_75.lib
    • libboost_python3-vc142-mt-gd-1_75.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.8.tar.gz)とzlib(zlib1211.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

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

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

    • libboost_bzip2-vc142-mt-1_75.lib
    • libboost_bzip2-vc142-mt-gd-1_75.lib
    • libboost_zlib-vc142-mt-1_75.lib
    • libboost_zlib-vc142-mt-gd-1_75.lib

Environment Variable

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

Building Boost 1.76.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

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

    • Win32

      cd C:\boost_1_76_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

    • libboost_atomic-vc142-mt-x64-1_76.lib
    • libboost_atomic-vc142-mt-gd-x64-1_76.lib
    • libboost_chrono-vc142-mt-x64-1_76.lib
    • libboost_chrono-vc142-mt-gd-x64-1_76.lib
    • libboost_container-vc142-mt-x64-1_76.lib
    • libboost_container-vc142-mt-gd-x64-1_76.lib
    • libboost_context-vc142-mt-x64-1_76.lib
    • libboost_context-vc142-mt-gd-x64-1_76.lib
    • libboost_contract-vc142-mt-x64-x64-1_76.lib
    • libboost_contract-vc142-mt-gd-x64-x64-1_76.lib
    • libboost_coroutine-vc142-mt-x64-1_76.lib
    • libboost_coroutine-vc142-mt-gd-x64-1_76.lib
    • libboost_date_time-vc142-mt-x64-1_76.lib
    • libboost_date_time-vc142-mt-gd-x64-1_76.lib
    • libboost_exception-vc142-mt-x64-1_76.lib
    • libboost_exception-vc142-mt-gd-x64-1_76.lib
    • libboost_fiber-vc142-mt-x64-1_76.lib
    • libboost_fiber-vc142-mt-gd-x64-1_76.lib
    • libboost_filesystem-vc142-mt-x64-1_76.lib
    • libboost_filesystem-vc142-mt-gd-x64-1_76.lib
    • libboost_graph_parallel-vc142-mt-x64-1_76.lib
    • libboost_graph_parallel-vc142-mt-gd-x64-1_76.lib
    • libboost_graph-vc142-mt-x64-1_76.lib
    • libboost_graph-vc142-mt-gd-x64-1_76.lib
    • libboost_iostreams-vc142-mt-x64-1_76.lib
    • libboost_iostreams-vc142-mt-gd-x64-1_76.lib
    • libboost_json-vc142-mt-gd-x64-1_76.lib
    • libboost_json-vc142-mt-x64-1_76.lib
    • libboost_locale-vc142-mt-x64-1_76.lib
    • libboost_locale-vc142-mt-gd-x64-1_76.lib
    • libboost_log-vc142-mt-x64-1_76.lib
    • libboost_log-vc142-mt-gd-x64-1_76.lib
    • libboost_log_setup-vc142-mt-x64-1_76.lib
    • libboost_log_setup-vc142-mt-gd-x64-1_76.lib
    • libboost_math_c99f-vc142-mt-x64-1_76.lib
    • libboost_math_c99f-vc142-mt-gd-x64-1_76.lib
    • libboost_math_c99l-vc142-mt-x64-1_76.lib
    • libboost_math_c99l-vc142-mt-gd-x64-1_76.lib
    • libboost_math_c99-vc142-mt-x64-1_76.lib
    • libboost_math_c99-vc142-mt-gd-x64-1_76.lib
    • libboost_math_tr1f-vc142-mt-x64-1_76.lib
    • libboost_math_tr1f-vc142-mt-gd-x64-1_76.lib
    • libboost_math_tr1l-vc142-mt-x64-1_76.lib
    • libboost_math_tr1l-vc142-mt-gd-x64-1_76.lib
    • libboost_math_tr1-vc142-mt-x64-1_76.lib
    • libboost_math_tr1-vc142-mt-gd-x64-1_76.lib
    • libboost_mpi-vc142-mt-x64-1_76.lib
    • libboost_mpi-vc142-mt-gd-x64-1_76.lib
    • libboost_nowide-vc142-mt-x64-x64-1_76.lib
    • libboost_nowide-vc142-mt-gd-x64-x64-1_76.lib
    • libboost_prg_exec_monitor-vc142-mt-x64-1_76.lib
    • libboost_prg_exec_monitor-vc142-mt-gd-x64-1_76.lib
    • libboost_program_options-vc142-mt-x64-1_76.lib
    • libboost_program_options-vc142-mt-gd-x64-1_76.lib
    • libboost_random-vc142-mt-x64-1_76.lib
    • libboost_random-vc142-mt-gd-x64-1_76.lib
    • libboost_regex-vc142-mt-x64-1_76.lib
    • libboost_regex-vc142-mt-gd-x64-1_76.lib
    • libboost_serialization-vc142-mt-x64-1_76.lib
    • libboost_serialization-vc142-mt-gd-x64-1_76.lib
    • libboost_stacktrace_noop-vc142-mt-x64-1_76.lib
    • libboost_stacktrace_noop-vc142-mt-gd-x64-1_76.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-x64-1_76.lib
    • libboost_stacktrace_windbg_cached-vc142-mt-gd-x64-1_76.lib
    • libboost_stacktrace_windbg-vc142-mt-x64-1_76.lib
    • libboost_stacktrace_windbg-vc142-mt-gd-x64-1_76.lib
    • libboost_system-vc142-mt-x64-1_76.lib
    • libboost_system-vc142-mt-gd-x64-1_76.lib
    • libboost_test_exec_monitor-vc142-mt-x64-1_76.lib
    • libboost_test_exec_monitor-vc142-mt-gd-x64-1_76.lib
    • libboost_thread-vc142-mt-x64-1_76.lib
    • libboost_thread-vc142-mt-gd-x64-1_76.lib
    • libboost_timer-vc142-mt-x64-1_76.lib
    • libboost_timer-vc142-mt-gd-x64-1_76.lib
    • libboost_type_erasure-vc142-mt-x64-1_76.lib
    • libboost_type_erasure-vc142-mt-gd-x64-1_76.lib
    • libboost_unit_test_framework-vc142-mt-x64-1_76.lib
    • libboost_unit_test_framework-vc142-mt-gd-x64-1_76.lib
    • libboost_wave-vc142-mt-x64-1_76.lib
    • libboost_wave-vc142-mt-gd-x64-1_76.lib
    • libboost_wserialization-vc142-mt-x64-1_76.lib
    • libboost_wserialization-vc142-mt-gd-x64-1_76.lib

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python38\

  2. NumPyをインストールする。

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

    • Win32

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

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

    • libboost_numpy3-vc142-mt-x64-1_76.lib
    • libboost_numpy3-vc142-mt-gd-x64-1_76.lib
    • libboost_python3-vc142-mt-x64-1_76.lib
    • libboost_python3-vc142-mt-gd-x64-1_76.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.8.tar.gz)とzlib(zlib1211.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

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

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

    • libboost_bzip2-vc142-mt-x64-1_76.lib
    • libboost_bzip2-vc142-mt-gd-x64-1_76.lib
    • libboost_zlib-vc142-mt-x64-1_76.lib
    • libboost_zlib-vc142-mt-gd-x64-1_76.lib

Environment Variable

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

Building Boost 1.78.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

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

    • Win32

      cd C:\boost_1_78_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

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

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python38\

  2. NumPyをインストールする。

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

    • Win32

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

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

    • libboost_numpy3-vc142-mt-x64-1_76.lib
    • libboost_numpy3-vc142-mt-gd-x64-1_76.lib
    • libboost_python3-vc142-mt-x64-1_76.lib
    • libboost_python3-vc142-mt-gd-x64-1_76.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.8.tar.gz)とzlib(zlib1211.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

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

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

    • libboost_bzip2-vc142-mt-x64-1_76.lib
    • libboost_bzip2-vc142-mt-gd-x64-1_76.lib
    • libboost_zlib-vc142-mt-x64-1_76.lib
    • libboost_zlib-vc142-mt-gd-x64-1_76.lib

Environment Variable

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

Building Boost 1.80.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

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

    • Win32

      cd C:\boost-1_80_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

    • libboost_atomic-vc143-mt-x64-1_80.lib
    • libboost_atomic-vc143-mt-gd-x64-1_80.lib
    • libboost_chrono-vc143-mt-x64-1_80.lib
    • libboost_chrono-vc143-mt-gd-x64-1_80.lib
    • libboost_container-vc143-mt-x64-1_80.lib
    • libboost_container-vc143-mt-gd-x64-1_80.lib
    • libboost_context-vc143-mt-x64-1_80.lib
    • libboost_context-vc143-mt-gd-x64-1_80.lib
    • libboost_contract-vc143-mt-x64-x64-1_80.lib
    • libboost_contract-vc143-mt-gd-x64-x64-1_80.lib
    • libboost_coroutine-vc143-mt-x64-1_80.lib
    • libboost_coroutine-vc143-mt-gd-x64-1_80.lib
    • libboost_date_time-vc143-mt-x64-1_80.lib
    • libboost_date_time-vc143-mt-gd-x64-1_80.lib
    • libboost_exception-vc143-mt-x64-1_80.lib
    • libboost_exception-vc143-mt-gd-x64-1_80.lib
    • libboost_fiber-vc143-mt-x64-1_80.lib
    • libboost_fiber-vc143-mt-gd-x64-1_80.lib
    • libboost_filesystem-vc143-mt-x64-1_80.lib
    • libboost_filesystem-vc143-mt-gd-x64-1_80.lib
    • libboost_graph_parallel-vc143-mt-x64-1_80.lib
    • libboost_graph_parallel-vc143-mt-gd-x64-1_80.lib
    • libboost_graph-vc143-mt-x64-1_80.lib
    • libboost_graph-vc143-mt-gd-x64-1_80.lib
    • libboost_iostreams-vc143-mt-x64-1_80.lib
    • libboost_iostreams-vc143-mt-gd-x64-1_80.lib
    • libboost_json-vc143-mt-gd-x64-1_80.lib
    • libboost_json-vc143-mt-x64-1_80.lib
    • libboost_locale-vc143-mt-x64-1_80.lib
    • libboost_locale-vc143-mt-gd-x64-1_80.lib
    • libboost_log_setup-vc143-mt-x64-1_80.lib
    • libboost_log_setup-vc143-mt-gd-x64-1_80.lib
    • libboost_log-vc143-mt-x64-1_80.lib
    • libboost_log-vc143-mt-gd-x64-1_80.lib
    • libboost_math_c99f-vc143-mt-x64-1_80.lib
    • libboost_math_c99f-vc143-mt-gd-x64-1_80.lib
    • libboost_math_c99l-vc143-mt-x64-1_80.lib
    • libboost_math_c99l-vc143-mt-gd-x64-1_80.lib
    • libboost_math_c99-vc143-mt-x64-1_80.lib
    • libboost_math_c99-vc143-mt-gd-x64-1_80.lib
    • libboost_math_tr1f-vc143-mt-x64-1_80.lib
    • libboost_math_tr1f-vc143-mt-gd-x64-1_80.lib
    • libboost_math_tr1l-vc143-mt-x64-1_80.lib
    • libboost_math_tr1l-vc143-mt-gd-x64-1_80.lib
    • libboost_math_tr1-vc143-mt-x64-1_80.lib
    • libboost_math_tr1-vc143-mt-gd-x64-1_80.lib
    • libboost_mpi-vc143-mt-x64-1_80.lib
    • libboost_mpi-vc143-mt-gd-x64-1_80.lib
    • libboost_nowide-vc143-mt-x64-x64-1_80.lib
    • libboost_nowide-vc143-mt-gd-x64-x64-1_80.lib
    • libboost_prg_exec_monitor-vc143-mt-x64-1_80.lib
    • libboost_prg_exec_monitor-vc143-mt-gd-x64-1_80.lib
    • libboost_program_options-vc143-mt-x64-1_80.lib
    • libboost_program_options-vc143-mt-gd-x64-1_80.lib
    • libboost_random-vc143-mt-x64-1_80.lib
    • libboost_random-vc143-mt-gd-x64-1_80.lib
    • libboost_regex-vc143-mt-x64-1_80.lib
    • libboost_regex-vc143-mt-gd-x64-1_80.lib
    • libboost_serialization-vc143-mt-x64-1_80.lib
    • libboost_serialization-vc143-mt-gd-x64-1_80.lib
    • libboost_stacktrace_noop-vc143-mt-x64-1_80.lib
    • libboost_stacktrace_noop-vc143-mt-gd-x64-1_80.lib
    • libboost_stacktrace_windbg_cached-vc143-mt-x64-1_80.lib
    • libboost_stacktrace_windbg_cached-vc143-mt-gd-x64-1_80.lib
    • libboost_stacktrace_windbg-vc143-mt-x64-1_80.lib
    • libboost_stacktrace_windbg-vc143-mt-gd-x64-1_80.lib
    • libboost_system-vc143-mt-x64-1_80.lib
    • libboost_system-vc143-mt-gd-x64-1_80.lib
    • libboost_test_exec_monitor-vc143-mt-x64-1_80.lib
    • libboost_test_exec_monitor-vc143-mt-gd-x64-1_80.lib
    • libboost_thread-vc143-mt-x64-1_80.lib
    • libboost_thread-vc143-mt-gd-x64-1_80.lib
    • libboost_timer-vc143-mt-x64-1_80.lib
    • libboost_timer-vc143-mt-gd-x64-1_80.lib
    • libboost_type_erasure-vc143-mt-x64-1_80.lib
    • libboost_type_erasure-vc143-mt-gd-x64-1_80.lib
    • libboost_unit_test_framework-vc143-mt-x64-1_80.lib
    • libboost_unit_test_framework-vc143-mt-gd-x64-1_80.lib
    • libboost_wave-vc143-mt-x64-1_80.lib
    • libboost_wave-vc143-mt-gd-x64-1_80.lib
    • libboost_wserialization-vc143-mt-x64-1_80.lib
    • libboost_wserialization-vc143-mt-gd-x64-1_80.lib

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python310\

  2. NumPyをインストールする。

    python -m pip install --upgrade pip
    pip install numpy
    
  3. Visual Studioの開発者コマンドプロンプト("VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2015は「14.0」、2017は「14.1」、2019は「14.2」、2022は「14.3」を指定する。

    • Win32

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

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

    • libboost_numpy310-vc143-mt-x64-1_80.lib
    • libboost_numpy310-vc143-mt-gd-x64-1_80.lib
    • libboost_python310-vc143-mt-x64-1_80.lib
    • libboost_python310-vc143-mt-gd-x64-1_80.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.8.tar.gz)とzlib(zlib1213.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

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

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

    • libboost_bzip2-vc143-mt-x64-1_80.lib
    • libboost_bzip2-vc143-mt-gd-x64-1_80.lib
    • libboost_zlib-vc143-mt-x64-1_80.lib
    • libboost_zlib-vc143-mt-gd-x64-1_80.lib

Environment Variable

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

Building Boost 1.82.0 with Visual Studio

Download

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

  2. Microsoft MPI v10.0(MSMpiSetup.exe)とMicrosoft MPI SDK v10.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=57467

Build

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

    • Win32

      cd C:\boost-1_82_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

    • libboost_atomic-vc143-mt-x64-1_82.lib
    • libboost_atomic-vc143-mt-gd-x64-1_82.lib
    • libboost_chrono-vc143-mt-x64-1_82.lib
    • libboost_chrono-vc143-mt-gd-x64-1_82.lib
    • libboost_container-vc143-mt-x64-1_82.lib
    • libboost_container-vc143-mt-gd-x64-1_82.lib
    • libboost_context-vc143-mt-x64-1_82.lib
    • libboost_context-vc143-mt-gd-x64-1_82.lib
    • libboost_contract-vc143-mt-x64-x64-1_82.lib
    • libboost_contract-vc143-mt-gd-x64-x64-1_82.lib
    • libboost_coroutine-vc143-mt-x64-1_82.lib
    • libboost_coroutine-vc143-mt-gd-x64-1_82.lib
    • libboost_date_time-vc143-mt-x64-1_82.lib
    • libboost_date_time-vc143-mt-gd-x64-1_82.lib
    • libboost_exception-vc143-mt-x64-1_82.lib
    • libboost_exception-vc143-mt-gd-x64-1_82.lib
    • libboost_fiber-vc143-mt-x64-1_82.lib
    • libboost_fiber-vc143-mt-gd-x64-1_82.lib
    • libboost_filesystem-vc143-mt-x64-1_82.lib
    • libboost_filesystem-vc143-mt-gd-x64-1_82.lib
    • libboost_graph_parallel-vc143-mt-x64-1_82.lib
    • libboost_graph_parallel-vc143-mt-gd-x64-1_82.lib
    • libboost_graph-vc143-mt-x64-1_82.lib
    • libboost_graph-vc143-mt-gd-x64-1_82.lib
    • libboost_iostreams-vc143-mt-x64-1_82.lib
    • libboost_iostreams-vc143-mt-gd-x64-1_82.lib
    • libboost_json-vc143-mt-gd-x64-1_82.lib
    • libboost_json-vc143-mt-x64-1_82.lib
    • libboost_locale-vc143-mt-x64-1_82.lib
    • libboost_locale-vc143-mt-gd-x64-1_82.lib
    • libboost_log_setup-vc143-mt-x64-1_82.lib
    • libboost_log_setup-vc143-mt-gd-x64-1_82.lib
    • libboost_log-vc143-mt-x64-1_82.lib
    • libboost_log-vc143-mt-gd-x64-1_82.lib
    • libboost_math_c99f-vc143-mt-x64-1_82.lib
    • libboost_math_c99f-vc143-mt-gd-x64-1_82.lib
    • libboost_math_c99l-vc143-mt-x64-1_82.lib
    • libboost_math_c99l-vc143-mt-gd-x64-1_82.lib
    • libboost_math_c99-vc143-mt-x64-1_82.lib
    • libboost_math_c99-vc143-mt-gd-x64-1_82.lib
    • libboost_math_tr1f-vc143-mt-x64-1_82.lib
    • libboost_math_tr1f-vc143-mt-gd-x64-1_82.lib
    • libboost_math_tr1l-vc143-mt-x64-1_82.lib
    • libboost_math_tr1l-vc143-mt-gd-x64-1_82.lib
    • libboost_math_tr1-vc143-mt-x64-1_82.lib
    • libboost_math_tr1-vc143-mt-gd-x64-1_82.lib
    • libboost_mpi-vc143-mt-x64-1_82.lib
    • libboost_mpi-vc143-mt-gd-x64-1_82.lib
    • libboost_nowide-vc143-mt-x64-x64-1_82.lib
    • libboost_nowide-vc143-mt-gd-x64-x64-1_82.lib
    • libboost_prg_exec_monitor-vc143-mt-x64-1_82.lib
    • libboost_prg_exec_monitor-vc143-mt-gd-x64-1_82.lib
    • libboost_program_options-vc143-mt-x64-1_82.lib
    • libboost_program_options-vc143-mt-gd-x64-1_82.lib
    • libboost_random-vc143-mt-x64-1_82.lib
    • libboost_random-vc143-mt-gd-x64-1_82.lib
    • libboost_regex-vc143-mt-x64-1_82.lib
    • libboost_regex-vc143-mt-gd-x64-1_82.lib
    • libboost_serialization-vc143-mt-x64-1_82.lib
    • libboost_serialization-vc143-mt-gd-x64-1_82.lib
    • libboost_stacktrace_noop-vc143-mt-x64-1_82.lib
    • libboost_stacktrace_noop-vc143-mt-gd-x64-1_82.lib
    • libboost_stacktrace_windbg_cached-vc143-mt-x64-1_82.lib
    • libboost_stacktrace_windbg_cached-vc143-mt-gd-x64-1_82.lib
    • libboost_stacktrace_windbg-vc143-mt-x64-1_82.lib
    • libboost_stacktrace_windbg-vc143-mt-gd-x64-1_82.lib
    • libboost_system-vc143-mt-x64-1_82.lib
    • libboost_system-vc143-mt-gd-x64-1_82.lib
    • libboost_test_exec_monitor-vc143-mt-x64-1_82.lib
    • libboost_test_exec_monitor-vc143-mt-gd-x64-1_82.lib
    • libboost_thread-vc143-mt-x64-1_82.lib
    • libboost_thread-vc143-mt-gd-x64-1_82.lib
    • libboost_timer-vc143-mt-x64-1_82.lib
    • libboost_timer-vc143-mt-gd-x64-1_82.lib
    • libboost_type_erasure-vc143-mt-x64-1_82.lib
    • libboost_type_erasure-vc143-mt-gd-x64-1_82.lib
    • libboost_unit_test_framework-vc143-mt-x64-1_82.lib
    • libboost_unit_test_framework-vc143-mt-gd-x64-1_82.lib
    • libboost_url-vc143-mt-x64-1_82.lib
    • libboost_url-vc143-mt-gd-x64-1_82.lib
    • libboost_wave-vc143-mt-x64-1_82.lib
    • libboost_wave-vc143-mt-gd-x64-1_82.lib
    • libboost_wserialization-vc143-mt-x64-1_82.lib
    • libboost_wserialization-vc143-mt-gd-x64-1_82.lib

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python310\

  2. NumPyをインストールする。

    python -m pip install --upgrade pip
    pip install numpy
    
  3. Visual Studioの開発者コマンドプロンプト("VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2015は「14.0」、2017は「14.1」、2019は「14.2」、2022は「14.3」を指定する。

    • Win32

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

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

    • libboost_numpy310-vc143-mt-x64-1_82.lib
    • libboost_numpy310-vc143-mt-gd-x64-1_82.lib
    • libboost_python310-vc143-mt-x64-1_82.lib
    • libboost_python310-vc143-mt-gd-x64-1_82.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.8.tar.gz)とzlib(zlib1213.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

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

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

    • libboost_bzip2-vc143-mt-x64-1_82.lib
    • libboost_bzip2-vc143-mt-gd-x64-1_82.lib
    • libboost_zlib-vc143-mt-x64-1_82.lib
    • libboost_zlib-vc143-mt-gd-x64-1_82.lib

Environment Variable

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

Building Boost 1.84.0 with Visual Studio

Download

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

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

Build

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

    • Win32

      cd C:\boost_1_84_0
      bootstrap.bat
      
    • x64

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

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

    • Win32

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

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

    • libboost_atomic-vc143-mt-x64-1_84.lib
    • libboost_atomic-vc143-mt-gd-x64-1_84.lib
    • libboost_chrono-vc143-mt-x64-1_84.lib
    • libboost_chrono-vc143-mt-gd-x64-1_84.lib
    • libboost_container-vc143-mt-x64-1_84.lib
    • libboost_container-vc143-mt-gd-x64-1_84.lib
    • libboost_context-vc143-mt-x64-1_84.lib
    • libboost_context-vc143-mt-gd-x64-1_84.lib
    • libboost_contract-vc143-mt-x64-x64-1_84.lib
    • libboost_contract-vc143-mt-gd-x64-x64-1_84.lib
    • libboost_coroutine-vc143-mt-x64-1_84.lib
    • libboost_coroutine-vc143-mt-gd-x64-1_84.lib
    • libboost_date_time-vc143-mt-x64-1_84.lib
    • libboost_date_time-vc143-mt-gd-x64-1_84.lib
    • libboost_exception-vc143-mt-x64-1_84.lib
    • libboost_exception-vc143-mt-gd-x64-1_84.lib
    • libboost_fiber-vc143-mt-x64-1_84.lib
    • libboost_fiber-vc143-mt-gd-x64-1_84.lib
    • libboost_filesystem-vc143-mt-x64-1_84.lib
    • libboost_filesystem-vc143-mt-gd-x64-1_84.lib
    • libboost_graph_parallel-vc143-mt-x64-1_84.lib
    • libboost_graph_parallel-vc143-mt-gd-x64-1_84.lib
    • libboost_graph-vc143-mt-x64-1_84.lib
    • libboost_graph-vc143-mt-gd-x64-1_84.lib
    • libboost_iostreams-vc143-mt-x64-1_84.lib
    • libboost_iostreams-vc143-mt-gd-x64-1_84.lib
    • libboost_json-vc143-mt-gd-x64-1_84.lib
    • libboost_json-vc143-mt-x64-1_84.lib
    • libboost_locale-vc143-mt-x64-1_84.lib
    • libboost_locale-vc143-mt-gd-x64-1_84.lib
    • libboost_log_setup-vc143-mt-x64-1_84.lib
    • libboost_log_setup-vc143-mt-gd-x64-1_84.lib
    • libboost_log-vc143-mt-x64-1_84.lib
    • libboost_log-vc143-mt-gd-x64-1_84.lib
    • libboost_math_c99f-vc143-mt-x64-1_84.lib
    • libboost_math_c99f-vc143-mt-gd-x64-1_84.lib
    • libboost_math_c99l-vc143-mt-x64-1_84.lib
    • libboost_math_c99l-vc143-mt-gd-x64-1_84.lib
    • libboost_math_c99-vc143-mt-x64-1_84.lib
    • libboost_math_c99-vc143-mt-gd-x64-1_84.lib
    • libboost_math_tr1f-vc143-mt-x64-1_84.lib
    • libboost_math_tr1f-vc143-mt-gd-x64-1_84.lib
    • libboost_math_tr1l-vc143-mt-x64-1_84.lib
    • libboost_math_tr1l-vc143-mt-gd-x64-1_84.lib
    • libboost_math_tr1-vc143-mt-x64-1_84.lib
    • libboost_math_tr1-vc143-mt-gd-x64-1_84.lib
    • libboost_mpi-vc143-mt-x64-1_84.lib
    • libboost_mpi-vc143-mt-gd-x64-1_84.lib
    • libboost_nowide-vc143-mt-x64-x64-1_84.lib
    • libboost_nowide-vc143-mt-gd-x64-x64-1_84.lib
    • libboost_prg_exec_monitor-vc143-mt-x64-1_84.lib
    • libboost_prg_exec_monitor-vc143-mt-gd-x64-1_84.lib
    • libboost_program_options-vc143-mt-x64-1_84.lib
    • libboost_program_options-vc143-mt-gd-x64-1_84.lib
    • libboost_random-vc143-mt-x64-1_84.lib
    • libboost_random-vc143-mt-gd-x64-1_84.lib
    • libboost_regex-vc143-mt-x64-1_84.lib
    • libboost_regex-vc143-mt-gd-x64-1_84.lib
    • libboost_serialization-vc143-mt-x64-1_84.lib
    • libboost_serialization-vc143-mt-gd-x64-1_84.lib
    • libboost_stacktrace_noop-vc143-mt-x64-1_84.lib
    • libboost_stacktrace_noop-vc143-mt-gd-x64-1_84.lib
    • libboost_stacktrace_windbg_cached-vc143-mt-x64-1_84.lib
    • libboost_stacktrace_windbg_cached-vc143-mt-gd-x64-1_84.lib
    • libboost_stacktrace_windbg-vc143-mt-x64-1_84.lib
    • libboost_stacktrace_windbg-vc143-mt-gd-x64-1_84.lib
    • libboost_system-vc143-mt-x64-1_84.lib
    • libboost_system-vc143-mt-gd-x64-1_84.lib
    • libboost_test_exec_monitor-vc143-mt-x64-1_84.lib
    • libboost_test_exec_monitor-vc143-mt-gd-x64-1_84.lib
    • libboost_thread-vc143-mt-x64-1_84.lib
    • libboost_thread-vc143-mt-gd-x64-1_84.lib
    • libboost_timer-vc143-mt-x64-1_84.lib
    • libboost_timer-vc143-mt-gd-x64-1_84.lib
    • libboost_type_erasure-vc143-mt-x64-1_84.lib
    • libboost_type_erasure-vc143-mt-gd-x64-1_84.lib
    • libboost_unit_test_framework-vc143-mt-x64-1_84.lib
    • libboost_unit_test_framework-vc143-mt-gd-x64-1_84.lib
    • libboost_url-vc143-mt-x64-1_84.lib
    • libboost_url-vc143-mt-gd-x64-1_84.lib
    • libboost_wave-vc143-mt-x64-1_84.lib
    • libboost_wave-vc143-mt-gd-x64-1_84.lib
    • libboost_wserialization-vc143-mt-x64-1_84.lib
    • libboost_wserialization-vc143-mt-gd-x64-1_84.lib

Option : Build Boost.Python and Boost.NumPy

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

    Advanced Options

    • Install for all users ☑(check)

    • Add Python to environment variables ☑(check)

    • Customize install location C:\Python310\

  2. NumPyをインストールする。

    python -m pip install --upgrade pip
    pip install numpy
    
  3. Visual Studioの開発者コマンドプロンプト("VS20XX x86/x64 Native Tools Commond Prompt")に続けて以下のコマンドを実行する。
    ※ -jオプションはコンパイルの並列数を指定する。通常はCPUの論理プロセッサ数を指定する。
    ※ toolsetはVisual Studioのバージョンを指定する。2015は「14.0」、2017は「14.1」、2019は「14.2」、2022は「14.3」を指定する。

    • Win32

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

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

    • libboost_numpy310-vc143-mt-x64-1_84.lib
    • libboost_numpy310-vc143-mt-gd-x64-1_84.lib
    • libboost_python310-vc143-mt-x64-1_84.lib
    • libboost_python310-vc143-mt-gd-x64-1_84.lib

Option : Build Boost.bzip2 and Boost.zlib

  1. bzip2(bzip2-1.0.8.tar.gz)とzlib(zlib1213.zip)をダウンロードして展開する。(C:\)
    https://sourceforge.net/projects/bzip2/files/
    http://zlib.net/

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

    • Win32

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

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

    • libboost_bzip2-vc143-mt-x64-1_84.lib
    • libboost_bzip2-vc143-mt-gd-x64-1_84.lib
    • libboost_zlib-vc143-mt-x64-1_84.lib
    • libboost_zlib-vc143-mt-gd-x64-1_84.lib

Environment Variable

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

I want to build the cuda 9.1 with msvc 2017. But the version of my msvc2017 is too new, the cuda 9.1 cannot be built.
Hope to add guide for CUDA , Qt and any other open source code in the option.

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