はじめに
今回はVisual Studio 2017でboostの導入方法について解説していきます。
そろそろboostに手を出してみようかな
と思っている方や、
Visual Studioでプログラミングしてるけどboostの入れ方がわからない
という方に向けて書いてます。
これを見れば誰でもboostが導入できる!はず
ダウンロード

Platform は windows を選択、
File は boost〇〇.zip を選択します。
この解説では、 boost_1_68_0.zip を使います。
ダウンロード後
ダウンロードしたboost〇〇.zipを すべて展開(解凍) します。
今回、展開場所は Cドライブ直下(Windows (C:)) に置きます。
展開はめちゃくちゃ時間がかかります。
展開が終わったら次へ。
コマンドプロンプトを起動
コマンドプロンプトを管理者権限で起動します。
1.左下にあるWindowsアイコンをクリック ⇒ スクロールしてWの行にある 2.Windows システムツール ⇒ 3.コマンドプロンプトを右クリック ⇒ 4.その他 ⇒ 5.管理者として実行 を押します。
許可しますか? という画面が出たら、 はい を選択。
展開に時間がかかりすぎて、その間に丁寧な解説してしまった。

コマンドプロンプトを起動したら、
展開したフォルダのある場所、(この説明だと) C:\boost_1_68_0 にフォルダがあるので
コマンドプロンプトで cd C:\boost_1_68_0 と打ちます。
※ダウンロードしたboostのバージョンによって適宜、名前を変えてください。
C:\WINDOWS\system32>cd C:\boost_1_68_0
C:\boost_1_68_0>
次に bootstrap.bat と打ちます。ビルドです。
C:\boost_1_68_0>bootstrap.bat
Building Boost.Build engine
Bootstrapping is done. To build, run:
.\b2
To adjust configuration, edit 'project-config.jam'.
Further information:
- Command line help:
.\b2 --help
- Getting started guide:
http://boost.org/more/getting_started/windows.html
- Boost.Build documentation:
http://www.boost.org/build/doc/html/index.html
C:\boost_1_68_0>
最後に
b2.exe toolset=msvc-14.1 link=static runtime-link=static,shared --build-dir=build/x86 address-model=32 -j5 install --includedir=C:\boost_1_68_0\include --libdir=C:\boost_1_68_0\stage\lib\x86
b2.exe toolset=msvc-14.1 link=static runtime-link=static,shared --build-dir=build/x64 address-model=64 -j5 install --includedir=C:\boost_1_68_0\include --libdir=C:\boost_1_68_0\stage\lib\x64
こちらの2行をコマンドプロンプトに打ちます。
※ダウンロードしたboostのバージョンによって適宜、名前を変えてください。
そうするとライブラリファイルが生成されます。
この作業はかなり時間がかかります。
これでコマンドプロンプトの役目は終わりです。
Visual Studioでの設定
画面上のメニューの プロジェクト(P) から 〇〇のプロパティ を押します。
左の C/C++ ⇒ 全般 ⇒ 追加のインクルードディレクトリ に下記を追加します。
※ダウンロードしたboostのバージョンによって適宜、名前を変えてください。
C:\boost_1_68_0\include\boost-1_68
左の リンカー ⇒ 全般 ⇒ 追加のライブラリディレクトリ に下記のどちらかを追加します。
※ダウンロードしたboostのバージョンによって適宜、名前を変えてください。
C:\boost_1_68_0\stage\lib\x86
C:\boost_1_68_0\stage\lib\x64
今回は、コンソールのプロジェクトとして使用するので、
左の リンカー ⇒ システム ⇒ サブシステム を
コンソール (/SUBSYSTEM:CONSOLE)
にしましょう。
boostが使えるかどうかのテスト1
boostのバージョンを確認してみましょう。
# include <iostream>
# include <boost/version.hpp>
int main() {
std::cout << "boostバージョン:" << BOOST_VERSION << std::endl;
std::cout << "boostライブラリバージョン:" << BOOST_LIB_VERSION << std::endl;
return 0;
}
boostバージョン:106800
boostライブラリバージョン:1_68
実行できました!
※ちなみにこれはライブラリファイルを入れなくても実行することが出来ます。
boostが使えるかどうかのテスト2
今度はお遊び程度でboost.asioを使ってみましょう。
boost.asioとはC++の初心者でも使えると言われる機能です(大嘘)
# include <iostream>
# include <boost/asio.hpp>
namespace asio = boost::asio;
using asio::ip::tcp;
int main()
{
//宣言
asio::io_service io_service;
tcp::socket socket(io_service);
boost::system::error_code error;
//接続
socket.connect(tcp::endpoint(asio::ip::address::from_string("192.168.0.1"), 31400), error);
//エラーかどうかチェック
if (error) std::cout << "未接続: " << error.message() << std::endl;
else std::cout << "接続済み" << std::endl;
}
未接続: 対象のコンピューターによって拒否されたため、接続できませんでした。
実行できました!
以上、Boost導入方法でした。
ソースコードのライセンス
These codes are licensed under CC0.
ソースコードは自由に使用してください。

