メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter

C++ でコードを書くなら boost はぜひ使いたいところです。
一部は C++11 とか C++0x で std に組み込まれデフォルトで使えるようになってきましたが、std には入っていない便利なものがあります。
と言いつつ自分、std に入ってるものですら使いこなせていないのですが、開発者の方に感謝しつつ使わせて頂こうと思います。

  • 以下にインストールの手順を記します。
    がしかしここの記載そのままが皆様の要求に合致するとは限らないので、オプション等、適宜変更してください。

windows (VisualStudio) anchor.png

  1. ダウンロードして適当なフォルダに解凍
  2. 解凍したフォルダの bootstrap.bat を実行
  3. 解凍したフォルダで下記を実行
    > rem for 32bit
    > b2 toolset=msvc-8.0 define=BOOST_USE_WINAPI_VERSION=0x0501 variant=debug,release threading=multi link=static runtime-link=shared asmflags=\safeseh 
    > b2 toolset=msvc-8.0 define=BOOST_USE_WINAPI_VERSION=0x0501 variant=debug,release threading=multi link=static runtime-link=static asmflags=\safeseh 
    > rem for 64bit
    > b2 toolset=msvc-8.0 define=BOOST_USE_WINAPI_VERSION=0x0501 variant=debug,release threading=multi link=static runtime-link=shared asmflags=\safeseh address-model=64 --stagedir=stage/x64
    > b2 toolset=msvc-8.0 define=BOOST_USE_WINAPI_VERSION=0x0501 variant=debug,release threading=multi link=static runtime-link=static asmflags=\safeseh address-model=64 --stagedir=stage/x64
    • toolset は適宜指定。もちろん VisualStudio はインストール済であるべし。
      • msvc-8.0 (VisualStuido2005)
      • msvc-9.0 (VisualStuido2008)
      • msvc-10.0(VisualStuido2010)
      • msvc-11.0(VisualStuido2012)
      • msvc-12.0(VisualStuido2013)
    • boost1.60.0 以降はデフォルトではXP用バイナリは作れなくなったので「define=BOOST_USE_WINAPI_VERSION=0x0501」を指定して XP も対象にする。
    • "LNK2026 モジュールは SAFESEH イメージには安全ではありません" みたいなエラーが出る場合向けに asmflags=\safeseh も追加しといたほうがよさげ。
  4. VisualStudio でインクルードパスとライブラリパスを設定。
Page Top

linux anchor.png

Page Top

ディストリビューションが用意したものをインストール anchor.png

# yum install boost*
  • 使うバージョンにこだわらないなら、これが一番簡単。
Page Top

ビルドしてインストール anchor.png

  • 下記は boost1.60.0 の場合の例。
  • インストール先フォルダは $HOME/boost_1_60_0 にしているがご随意に。
  • もちろん gcc 等はインストール済であるべし。
  1. ダウンロードして展開
    # cd $HOME
    # wget http://downloads.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.bz2
    # mkdir boosttmp
    # tar -jxf boost_1_60_0.tar.bz2 -C boosttmp
    # cd boosttmp/boost_1_60_0
    # ./bootstrap.sh
    # ./b2 install cxxflags="-std=c++11" link=static threading=multi variant=release,debug --prefix=$HOME/boost_1_60_0 --layout=tagged
    • prefix を指定して /usr/ 以外を指定する。ディストリビューション提供の boost とのバッティングを避ける。
    • cxxflags="-std=c++11" を指定。(c++11 をサポートしてない古い gcc は適宜 "-std=c++0x" とかにすべし。)
    • link=static これを指定して shared ライブラリは作らないようにする。
      so ファイルが必要なら shared も指定すべし
    • variant=release,debug としてデバッグ版も作る。デバッグする環境でないなら debug は不要。
    • layout=tagged これを指定すると ○○-mt.○ とかの形で出来る。
  2. パス設定(の一例)
    • .bash_profile に設定
      export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$HOME/boost_1_60_0/include
      export LIBRARY_PATH=$LIBRARY_PATH:$HOME/boost_1_60_0/lib

トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 1065, today: 2, yesterday: 1
初版日時: 2016-04-05 (火) 22:29:22
最終更新: 2017-11-21 (火) 14:00:08 (JST) (20d) by takatsuka