強火で進め

このブログではプログラム関連の記事を中心に書いてます。

MacのXcodeでBoostを使う

MacC++の高速ライブラリBoostをインストールした - 強火で進め
http://d.hatena.ne.jp/nakamura001/20081225/1230195789

こちらでインストールの解説をしましたが実際に使うときも色々と設定を行わないと上手く行かないところがあったのでそちらについても解説しておきます。

Boostライブラリの使い方

今回は例として正規表現のライブラリである regex.hpp を使用する方法を解説します。
1. C++のプロジェクトを作成する。BoostはC++向けのライブラリなので「Command Line Utility」-「C++ Tool」でプロジェクトを作成します。なお、Objective-Cと一緒に使いたい場合は拡張子を .mm にすれば使えるはずです。

2. inclucde する。取りあえずincludeしない事には話が進みません。

#include <boost/regex.hpp>

3. include ファイルの検索パスを追加。プロジェクト名を右クリックし、「情報を見る」実行。表示されたウィンドウの「ビルド」タブを選択後、「Other C++ Flags」という項目を編集します。

デフォルトで $(OTHER_CFLAGS) と入っていますのでその後に -I(Boostのincludeファイルをインストールしたフォルダのパス) という形で指定します。

自分で make した場合は以下のパス

/usr/local/include/boost-1_37

※おそらく 1_37 の部分はBoostのバージョンによって異なると思いますので実際に /usr/local/include/ 以下を確認して記述して下さい。

MacPortsでインストールした場合は以下のパスとなる様です。

-I/opt/local/include/

4. ライブラリの追加。次にライブラリファイルを追加する必要があります。

自分で make した場合は以下のフォルダの

/usr/local/lib

以下のファイルを追加します。

libboost_regex-gcc40-mt.a

/usr/local/lib はデフォルトの状態では表示されませんのでTinkerToolなどのアプリを使って表示される様にするかターミナルで以下の様にタイプし、表示されたフォルダの lib をショートカットに追加しておくと良いでしょう。
※素直にMacPortsでインストールするのが一番手間が無い気もしますが(^_^;)

$ cd /usr/local/
$ open .

MacPortsでインストールした場合は以下のフォルダの

/opt/local/lib

以下のファイルを追加します。

libboost_regex-mt.dylib

※こちらはリンクで実際のファイルは libboost_regex-mt-1_35.dylib です。おそらく新しいバージョンのBoostをインストールした場合はリンク先がそちらに切り替わるのだと思われます。自分のプログラムの性質に合わせて「リンクを指定」 or 「現在のバージョン指定」を選択して下さい。

5. 後はプログラムを書いてビルドすれば完了です。

今回は regex.hpp を使用するときの解説なので実際は使用するライブラリに対応したライブラリファイルを追加して下さい。

基本的にヘッダファイルと同等の名前が付いている様なのですぐに対応するファイルは見つかるかと思います。

コマンドラインから使うとき

ちなみにコマンドラインから使う場合はこの様になります。

g++ main.cpp -I/opt/local/include /opt/local/lib/libboost_regex-mt.dylib

g++ プログラムファイル includeファイルのフォルダ指定 ライブラリのパス

取りあえず自分もインストールが終わって、サンプルプログラム動かした程度なのでこれからこの辺りの本を買って勉強しようかと思ってます。

Boost C++をチューンアップする最先端ライブラリ

Boost C++をチューンアップする最先端ライブラリ

  • 作者: ビョルン・カールソン,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2008/10/07
  • メディア: 単行本(ソフトカバー)
  • 購入: 9人 クリック: 61回
  • この商品を含むブログ (22件) を見る
Boost C++ Librariesプログラミング第2版

Boost C++ Librariesプログラミング第2版

関連サイト

Boostビルド系ライブラリを使う時の注意点 - Seasons.NET
http://d.hatena.ne.jp/Seasons/20091223/1261557181