トップページ -> 最新情報技術の実習と研究ツール -> Windows でソフトウエアのインストールと設定 -> Windows で Boost 最新版をソースコードからビルドし、インストールする(Microsoft Build Tools を使用)
[サイトマップへ]

Windows で Boost 最新版をソースコードからビルドし、インストールする(Microsoft Build Tools を使用)

目次

Boost の利用条件などは、利用者が確認すること。次のWeb ページを活用してください

https://www.boost.org/users/license.html

サイト内の関連Webページ

謝辞

Boost の作者に感謝します


前準備

cmake, git のインストール

前準備として,cmake, git のインストールが終わっていること.

Microsoft Build Tools for Visual Studio 2017 のインストール


Boost のインストール(Microsoft Build Tools を使用)

  1. VS 2017用 x64 Native Tools コマンドプロンプトを開く

    ※ スタートメニューの「Visual Studio 2017」の下にある

    ※ 「Visual Studio 2017 がないときは、Microsoft Build Tools for Visual Studio 2017 のインストールを行う

  2. Boost のインストールディレクトリを削除する
    mkdir C:\tools
    cd C:\tools
    rmdir /s /q boost
    

  3. Boost のソースコードをダウンロード
    cd C:\tools
    git clone --recursive https://github.com/boostorg/boost 
    

    (以下省略)

  4. Boost.Build のインストール

    https://www.boost.org/doc/libs/1_69_0/more/getting_started/windows.html#simplified-build-from-source の記述による

    実行手順例は次の通り

    cd c:\tools
    cd boost
    .\bootstrap.bat 
    

  5. Windows で Boost を ソースコードからビルドし、インストールする

    終了までしばらく待つ

    https://www.boost.org/doc/libs/1_69_0/more/getting_started/windows.html#simplified-build-from-source の記述による

    cd c:\tools
    cd boost
    .\b2 ^
      --build-type=complete msvc ^
      toolset=msvc-15.0 ^
      address-model=64 ^
      runtime-link=static,shared
    

  6. 実行結果の確認

    ※ エラーメッセージが出ていないことを確認

  7. システム環境変数 BOOST_ROOT の設定

    次のように設定する

    C:\tools\boost

  8. システム環境変数 LIB の設定

    次のように追加する

    C:\tools\boost\stage\lib

  9. 動作確認

    VS 2017用 x64 Native Tools コマンドプロンプトで,次のコマンドを実行

    cl /EHsc C:\tools\boost\libs\geometry\example\01_point_example.cpp ^
        /I C:\tools\boost
    
    .\01_point_example.exe
    

    以下、書きかけ

    /link /LIBPATH:C:\tools\boost\stage\lib ^

    cl /EHsc C:\tools\boost\libs\geometry\example\01_point_example.cpp ^
        /I C:\tools\boost\libs\geometry\include ^
        /I C:\tools\boost\libs\mpl\include ^
        /I C:\tools\boost\libs\preprocessor\include ^
        /I C:\tools\boost\libs\range\include ^
        /I C:\tools\boost\libs\type_traits\include ^
        /I C:\tools\boost\libs\iterator\include ^
        /I C:\tools\boost\libs\static_assert\include ^
        /I C:\tools\boost\libs\core\include ^
        /I C:\tools\boost\libs\numeric\conversion\include ^
        /I C:\tools\boost\libs\throw_exception\include ^
        /I C:\tools\boost\libs\assert\include ^
        /I C:\tools\boost\libs\math\include ^
        /I C:\tools\boost\libs\predef\include ^
        /I C:\tools\boost\libs\lexical_cast\include ^
        /I C:\tools\boost\libs\detail\include ^
        /I C:\tools\boost\libs\concept_check\include ^
        /I C:\tools\boost\libs\utility\include ^
        /I C:\tools\boost\libs\integer\include ^
        /I C:\tools\boost\libs\array\include ^
        /I C:\tools\boost\libs\container\include ^
        /I C:\tools\boost\libs\move\include ^
        /I C:\tools\boost\libs\variant\include ^
        /I C:\tools\boost\libs\tuple\include ^
        /I C:\tools\boost\libs\rational\include ^
        /I C:\tools\boost\libs\algorithm\include ^
        /I C:\tools\boost\libs\tokenizer\include ^
        /I C:\tools\boost\libs\function\include ^
        /I C:\tools\boost\libs\type_index\include ^
        /I C:\tools\boost\libs\container_hash\include ^
        /I C:\tools\boost\libs\bind\include ^
        /I C:\tools\boost\libs\function_types\include ^
        /I C:\tools\boost\libs\intrusive\include ^
        /I C:\tools\boost\libs\smart_ptr\include ^
        /I C:\tools\boost\libs\qvm\include ^
        /I C:\tools\boost\libs\polygon\include ^
        /I C:\tools\boost\libs\exception\include ^
        /I C:\tools\boost\libs\config\include