|
1: 2016-04-06 (水) 10:44:05 takatsuka |
| + | TITLE:C++ boostインストール手順 |
| + | C++ でコードを書くなら boost はぜひ使いたいところです。 |
| + | 一部は C++11 とか C++0x で std に組み込まれデフォルトで使えるようになってきましたが、std には入っていない便利なものがあります。 |
| + | と言いつつ自分、std に入ってるものですら使いこなせていないのですが、開発者の方に感謝しつつ使わせて頂こうと思います。 |
| | | |
| + | -以下にインストールの手順を記します。 |
| + | がしかしここの記載そのままが皆様の要求に合致するとは限らないので、オプション等、適宜変更してください。 |
| + | |
| + | * windows (VisualStudio) [#a2ad8867] |
| + | + ダウンロードして適当なフォルダに解凍 |
| + | + 解凍したフォルダの 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 |
| + | > b2 toolset=msvc-8.0 define=BOOST_USE_WINAPI_VERSION=0x0501 variant=debug,release threading=multi link=static runtime-link=static |
| + | > rem for 64bit |
| + | > b2 toolset=msvc-8.0 define=BOOST_USE_WINAPI_VERSION=0x0501 variant=debug,release threading=multi link=static runtime-link=shared 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 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 も対象にする。 |
| + | +VisualStudio でインクルードパスとライブラリパスを設定。 |
| + | |
| + | * linux [#a13f1dd8] |
| + | ** ディストリビューションが用意したものをインストール [#nba0b238] |
| + | # yum install boost* |
| + | - 使うバージョンにこだわらないなら、これが一番簡単。 |
| + | ** ビルドしてインストール [#i2e2b1f0] |
| + | - 下記は 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.○ とかの形で出来る。 |