そういうわけでCppUnitの使い方、個人的な使い方の続きを。
みたいな感じで今回は「2.プロジェクトの構成」
VCだとソリューションがあって、その下にいくつかプロジェクトをぶら下げられるので、メインプロジェクトとテストプロジェクトを同じソリューション下におく。また、前回で作成したlibやcppunitのヘッダをインクルードするため、それらをテストプロジェクト下におく。
例えばディレクトリ構成は下記のようにする。
プロジェクト名:Hoge(=ソリューション名)
Hoge/
-source/ # この下はメインプロジェクトのソース
-Fuga.cpp
-header/ # この下はメインプロジェクトのヘッダ
-Fuga.hpp
-HogeTester/
-HogeTest.cpp # テストプロジェクトのmainソース
-Fuga_Tester.cpp # Fuga.cppのテスト用ソース
-cppunit-1.12.0/ # cppunitのいるとこ抜粋してコピーする
-include/ # cppunit/ とか msvc6/ とかを丸々置いておく
-lib/ # 作成したlibファイル群(cppunit.lib, cppunitd.libなど)
HogeTesterプロジェクトのプロパティでリリースモード、デバッグモードそれぞれでパスを設定する。
・追加のインクルードディレクトリ (C/C++)
../header # メインプロジェクトのヘッダ
cppunit-1.12.0/include # cppunitのヘッダ
・追加のライブラリディレクトリ (リンカ)
cppunit-1.12.0/lib
・追加の依存ファイル (リンカ)
[リリースモードの場合]
cppunit.lib TestRunner.lib
[デバッグモードの場合]
cppunitd.lib TestRunnerd.lib
C/C++のコード生成でランタイムライブラリは前回の通り
[リリースモードの場合]
マルチスレッドDLL
[デバッグモードの場合]
マルチスレッドデバッグDLL
としておく。
あと経験上、プリコンパイル済みヘッダーは使用しないほうがトラブルに巻き込まれずにすむ。プロジェクトが固まってきたら使用してもいいかも知れんけど。でっかいプロジェクトだとコンパイル遅いしな。
次回は実際のコードのテンプレートを示す。
以上
Add Your Comment