2011年9月13日火曜日

XCode4でgoogletestを使う方法

GoogleのC++テストフレームワークgoogletestをXCode4で使う方法です。
静的ライブラリlibgtest.aをビルドして使います。

実行環境
  • Mac OSX version10.7.1 
  • XCode version4.1 
  • gcc version4.2.1
  • googletest version1.6.0

1.google testをダウンロード

googletestのページから安定版をダウンロードします。

2.googletestのビルド

ダウンロードしたファイルから、XCodeのプロジェクトファイル「gtest-1.6.0/xcode/gtest.xcodeproj」を開きます。
Lionの人はそのままビルドするとエラーが出るはずなので、設定を変えます。
Base SDKとコンパイラのバージョンを設定するとビルドが通りました。
Base SDKをLatest Mac OSXに変更します。
コンパイラをSystem Defaultに変更します。
ビルドすると、gtest.framework, libgtest.aなどライブラリができるので、これを使います。

3.googletestプロジェクト追加

gtestプロジェクトを、テストを書きたいプロジェクトにドラッグアンドドロップで追加します。
で、ここからの動きが謎なんですが、この時に、googletestのXCodeプロジェクトが開いているとダメらしいんです。(参考: Adding project as dependency in XCode 4.x
なので、一度XCodeを終了して、もう一度起動してみます。
そうすると、きちんと追加されています。

4.googletestの依存関係設定

スキームの設定で、先にgoogletestがビルドされるようにします。
赤枠をクリックして、

Edit Scheme...を選択します
Buildを選択してから、+をクリックします。
静的ライブラリ「gtest-static」を選択します。
追加されました。gtest-staticを先にビルドされるように上に移動させました。

5.静的ライブラリ(バイナリ)のリンク

バイナリをリンクするように設定します。
赤枠をクリックして、
libgtest.aを選択します。
追加されました。

6.テストを書いてみる

constのargvに対応するInitGoogleTestがないみたいで、argvにconstをつけると怒られました。

参考サイト

0 件のコメント:

コメントを投稿