なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

boostの勉強

MinGWでBoost1.47.0をビルドする - Ideals and Reality

上のサイトでboostの最新版がMinGW+MSYS環境に簡単にインストールできることがわかったので試してみる。ビルドについては普通にできました。問題は書いたコードのコンパイル。改めてgccのお勉強です。
その前にBoostが含んでいるライブラリの種類について… Boostにはライブラリをリンクする必要があるものとそうでないものがあります。

①ライブラリをリンクする必要がないもののコンパイル

$ g++ boostsample.cpp -I/c/Boost -o boostsample.exe

②ライブラリをリンクする必要があるもののコンパイル 例えばregex

$ g++ regexsample.cpp -lboost_regex-mgw45-mt-1_47 -L/c/MinGW/lib -I/c/Boost -o regexsample.exe

    • '-L'でライブラリを見に行くフォルダを指定
    • '-l'の後にlib***.aの「*」の部分の名前を指定
    • '-I'でヘッダファイル「.hpp」が入っているフォルダを指定
    • '-o'で最終的にコンパイルされるバイナリファイルの名前を指定(--Linuxの場合は.exeはつけちゃダメだぞ…付けないだろうけど)

実行しようとするとdllが無いって言われるんでそのフォルダに.dllの名前のファイルを置いてやって実行する。
MinGWのパスの通ってる部分に置けばOK。dllを /MinGW/bin以下に移動させる。