ぼく用あれこれまとめ
Boost使おうぜ!
最終更新:
bokuyo
-
view
Boost使おうぜ!
Boostって?
- クールでパワフルなC++の強力なライブラリだよ。
導入方法。VC++2010使ってる僕向け。
ダウンロード編
- http://www.boostpro.com/download/で「BoostPro 1.44.0 Installer」をダウンロード、そして実行。
- (もちろんversionは1.44.0じゃなくておk、2010/02/06現在で最新版が1.44.0)
- Setup画面が開いたら、「Installer License Agreement」をよーく読んで「I Agree」
- 「Boost Libraries License Agreement」もよーく読んで「I Agree」
- 「Select Mirror」でダウンロードするミラーサイトを選択できるよ。どこでもいいよ。
- 「Select Default Variants」で使用してるコンパイラ(Visual C++ 10.0)とかを選択。
- 「Multishreaded debug DLL」とか「Single threaded, static runtime」とかわけわかんないなら全部チェックいれるといいお。
- ようは「/MDd」とか「/MT」とかあのへんのリンカーオプションの話ではなかろうかと…。…えっ…違うの?
- 「Choose Components」でBoostで使いたい機能を選択できるよ。全部いれればいいんじゃないかな…?
- 「Choose Install Location」でインスコする場所決められるよ。やったね!デフォルトで決まり。
- 結構ダウンロードに時間がかかる(30分~1時間くらい)、終わるとcompletedって出るから、「close」押して閉じる。
- ダウンロードおしまい。
VC++設定編
- VC++開いて、適当にプロジェクト作る。
- 「プロジェクト>○○のプロパティ>構成プロパティ>C/C++>全般>追加のインクルードディレクトリ>C:\Program Files\boost\boost_1_44」
- これで設定おk。今すぐにでも使える状態だよ。
- 当たり前みたいな話だけど、追加のインクルードディレクトリにはboostを入れたとこを設定するんだよ。
使ってみよう!
#include <boost\format.hpp> #include <iostream> int main() { std::cout << boost::format("%3% %2% %1%") %"!" %"world" %"hello" << std::endl; while(1){}; return 0; }
- なんともいえない、boostの使い方だね…。
boost::hash
- boostでハッシュ関数を使ってみよう。
#include <iostream> #include <boost\functional\hash.hpp> int main() { char* str = "unco_unco_unco_unco"; unsigned int ident; ident = boost::hash<char*>()(str); std::cout << ident << std::endl; while(1){}; return 0; }
リンカエラーがでたら
- (Boost.Thread を使っているとき)
1>LINK : fatal error LNK1104: ファイル 'libboost_thread-vc100-mt-sgd-1_47.lib' を開くことができません。
- (Boost.FileSystem を使っているとき)
1>LINK : fatal error LNK1104: ファイル 'libboost_filesystem-vc100-mt-sgd-1_47.lib' を開くことができません。
- プロジェクトのプロパティを開き、
- 構成プロパティ > リンカ― > 全般 > 追加のライブラリ ディレクトリ > "C:\Program Files\boost\boost_1_47\lib" を追加
- デフォルトのインストール先("C:\Program Files\boost\")の場合なので、お使いの環境に合わせて指定するとおっけー
めも
MSDN tr1
参考文献
- Boost C++ Libraries(本家)
- BoostPro Computing
- Let's Boost(日本語)- boostの各種ライブラリの使い方やVC++以外での導入方法についてはこちらのサイトでわかりやすく解説されています。