C++ でコードを書くなら boost はぜひ使いたいところです。
一部は C++11 とか C++0x で std に組み込まれデフォルトで使えるようになってきましたが、std には入っていない便利なものがあります。
と言いつつ自分、std に入ってるものですら使いこなせていないのですが、開発者の方に感謝しつつ使わせて頂こうと思います。
- 以下にインストールの手順を記します。
がしかしここの記載そのままが皆様の要求に合致するとは限らないので、オプション等、適宜変更してください。
Table of contents
windows (VisualStudio)
- ダウンロードして適当なフォルダに解凍
- 解凍したフォルダの bootstrap.bat を実行
- 解凍したフォルダで下記を実行
> 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 も追加しといたほうがよさげ。
- toolset は適宜指定。もちろん VisualStudio はインストール済であるべし。
- VisualStudio でインクルードパスとライブラリパスを設定。
ビルドしてインストール
- 下記は boost1.60.0 の場合の例。
- インストール先フォルダは $HOME/boost_1_60_0 にしているがご随意に。
- もちろん gcc 等はインストール済であるべし。
- ダウンロードして展開
# 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.○ とかの形で出来る。
- パス設定(の一例)
- .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
- .bash_profile に設定
Page Info | |
---|---|
Page Name : | 技術系備忘録/C++/Boost/インストール手順 |
Page aliases : | boostインストール手順, C++ |
Page owner : | takatsuka |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | No one |
Users : | No one |
Counter: 11965,
today: 7,
yesterday: 2
Princeps date: 2016-04-05 (Tue) 22:29:22
Last-modified: 2017-11-21 (Tue) 14:00:08 (JST) (2485d) by takatsuka