ぼく用あれこれまとめ

Boost使おうぜ!

最終更新:

bokuyo

- view
管理者のみ編集可

Boost使おうぜ!


Boostって?

  • クールでパワフルなC++の強力なライブラリだよ。

導入方法。VC++2010使ってる僕向け。

ダウンロード編

  1. http://www.boostpro.com/download/で「BoostPro 1.44.0 Installer」をダウンロード、そして実行。
    • (もちろんversionは1.44.0じゃなくておk、2010/02/06現在で最新版が1.44.0)
  2. Setup画面が開いたら、「Installer License Agreement」をよーく読んで「I Agree」
  3. 「Boost Libraries License Agreement」もよーく読んで「I Agree」
  4. 「Select Mirror」でダウンロードするミラーサイトを選択できるよ。どこでもいいよ。
  5. 「Select Default Variants」で使用してるコンパイラ(Visual C++ 10.0)とかを選択。
    • 「Multishreaded debug DLL」とか「Single threaded, static runtime」とかわけわかんないなら全部チェックいれるといいお。
    • ようは「/MDd」とか「/MT」とかあのへんのリンカーオプションの話ではなかろうかと…。…えっ…違うの?
  6. 「Choose Components」でBoostで使いたい機能を選択できるよ。全部いれればいいんじゃないかな…?
  7. 「Choose Install Location」でインスコする場所決められるよ。やったね!デフォルトで決まり。
  8. 結構ダウンロードに時間がかかる(30分~1時間くらい)、終わるとcompletedって出るから、「close」押して閉じる。
  • ダウンロードおしまい。

VC++設定編

  1. VC++開いて、適当にプロジェクト作る。
  2. 「プロジェクト>○○のプロパティ>構成プロパティ>C/C++>全般>追加のインクルードディレクトリ>C:\Program Files\boost\boost_1_44」
  3. これで設定お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


参考文献

記事メニュー
目安箱バナー