gccでCppUTestを使う

CppUTestが使えるようになりました。備忘録として、手順を記載しておきます。
(事前にCppUTestをビルドしてライブラリにしておき、テスト時にリンクするようにしています。)

GoogleTestをビルドしたときにと同じやり方でいけました。
その時は、以下のページを参考にさせてもらいました。

nekko1119.hatenablog.com

CppUTestも同じようにしていきます。
以下のページからCppUTestをダウンロード、解凍。
https://cpputest.github.io/

解凍したディレクトリで以下を実行。 

mkdir mybuild
cd mybuild
cmake -G "MinGW Makefiles" ..
cmake -G "MinGW Makefiles" ..
mingw32-make

※cmakeのコマンドの部分、1回だけではなぜかエラーが出るので、2回コマンド実行しています。(ちゃんとエラー読んでなくて、調べてもないのは良くないね・・・。でも2回やったら通るんだもの・・・。)

f:id:avaler0604:20190128235220p:plain
1回目の時のエラーの画面。

ちなみに、初めて実行したときはpthreadがなくて、mingw32-make時にエラーがでました。
mingw32のウィザード使ってpthreadを入手すれば無事ビルドできます。

以下のディレクトリにライブラリができています!

\mybuild\src\CppUTest\libCppUTest.a
\mybuild\src\CppUTestExt\libCppUTestExt.a

あとは、テストにリンクしてビルトすれば、CppUTestでユニットテストが書けます。
pthreadが使用されているので、-pthreadをつけるのを忘れずに。

g++ -pthread test.cpp -L. -lCppUTest hoge.o 

※CppUTestのライブラリはテストを実行するディレクトリに移動しています。
※test.cppにcファイルのヘッダをインクルードするときはextern "C"{ } でくくるのを忘れずに。