Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
42
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@gis

【Visual Studio 2017】Boost導入方法【超易しい解説】

はじめに

今回はVisual Studio 2017でboostの導入方法について解説していきます。

そろそろboostに手を出してみようかな
と思っている方や、
Visual Studioでプログラミングしてるけどboostの入れ方がわからない
という方に向けて書いてます。

これを見れば誰でもboostが導入できる!はず

ダウンロード

⇒こちらからboost〇〇.zip をダウンロードします。

bo6.png
Platformwindows を選択、
Fileboost〇〇.zip を選択します。

この解説では、 boost_1_68_0.zip を使います。

ダウンロード後

ダウンロードしたboost〇〇.zipすべて展開(解凍) します。
今回、展開場所は Cドライブ直下(Windows (C:)) に置きます。

bo3.PNG

展開はめちゃくちゃ時間がかかります。

bo4.PNG

展開が終わったら次へ。

コマンドプロンプトを起動

コマンドプロンプトを管理者権限で起動します。

1.左下にあるWindowsアイコンをクリック ⇒ スクロールしてWの行にある 2.Windows システムツール3.コマンドプロンプトを右クリック4.その他5.管理者として実行 を押します。
許可しますか? という画面が出たら、 はい を選択。
展開に時間がかかりすぎて、その間に丁寧な解説してしまった。
スクリーンショット 2018-09-04 08.28.36.png

コマンドプロンプトを起動したら、
展開したフォルダのある場所、(この説明だと) 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>

最後に

x86
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
x64
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のバージョンによって適宜、名前を変えてください。

x86の場合
C:\boost_1_68_0\stage\lib\x86
x64の場合
C:\boost_1_68_0\stage\lib\x64

今回は、コンソールのプロジェクトとして使用するので、
左の リンカーシステムサブシステム

コンソール (/SUBSYSTEM:CONSOLE)

にしましょう。

boostが使えるかどうかのテスト1

boostのバージョンを確認してみましょう。

Source.cpp
#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++の初心者でも使えると言われる機能です(大嘘)

Source.hpp
#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.
CC0

ソースコードは自由に使用してください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
42
Help us understand the problem. What are the problem?