自習室

こもります

Boost on Visual C++ 2008 Express Edition

やっとでけたーーーー

参考にさせていただいた記事2件様

  1. http://www.rk-k.com/memo/017.html
  2. http://www.sutosoft.com/room/archives/000515.html

2の記事があっさり書かれていたのでそちらに従って進めました。
boost ライブラリの現在の最新版 1.39.0 を使用。

bjamという専用プログラムを使ってライブラリをコンパイルする、というのがわからず日曜丸1日使ってしまったのですが。
bjamも最新版の 3.1.17を使用。

bjam実行時の注意点

2の記事で

5.bjam --toolset=msvc link=static,shared runtime-link=static,shared release debug stage
で全構成をビルド。

と書かれているようにしたところ、自分のVC++2008Ex環境ではエラー*1が出たので、どうしたもんかいと調べてみたとこ、1.の記事の引数にたどり着きました。

staticリンクのデバッグビルド
bjam --toolset=msvc-9.0 --stagedir=. link=static runtime-link=shared debug stage

自分はこのコマンドで上手くできています。ただしこのままだと、VCのソリューション構成を Debug にしないと、ライブラリをちゃんとリンクできないみたい。加えてリリースビルドの方も作ってやればいいのかな。

あとはVCの方で記事1の6番目の通りインクルードとライブラリの参照を設定してやればOK

wikipedia の Boost ページの最後に載ってる boost/thread/thread.hpp を用いたスレッドのテストが動いたので、おそらく大丈夫。

VC++インストーラあるじゃん…(汗

いま気がついたのだけど、
http://www.kmonos.net/alang/boost/install.html 中にリンクの張ってある
http://www.boostpro.com/download

って、もしかしてとっても楽ちんにインストールできるおまじないってやつですか!!!
後日試してみましょう。


もともとはCygwinでやるつもりだった

のです。

CygwinのPackage追加

まずは、日本語boostの代表サイト(っぽい) Let's Boost にあるように、Cygwinの setup.exe からパッケージの追加インストール → だめ。
.h などのインクルードファイルは正しくcygwin上に展開されるのですが、ライブラリの .a ファイルが作られていない。ここで先述のbjam の存在に気がつけば良かったのですが、このときはスルー

./configure > make > make install って流れを試す

先日cygwinに libcurl というhtmlをぶっこ抜くライブラリを入れた際に、"unix ではこういうライブラリのインストール方が慣習だよ" というコトを学んだので、今回もそれに違いないと思って試すも、そもそも ./configure ファイルが無い。 ここで先述のbjam の存在に気がつけば良かったのですが、このときもスルー

したがって結局出来てない。

だれかCygwin上でのライブラリの構築法おしえてくだちぃ。。。。。

*1:そういう引数の組み合わせはだめよーって警告