忍者ブログ
プログラミングとか日常とかの覚書っぽいなにか
[1] [2]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

DLL版のC/C++ランタイムライブラリ(CRT)を使用したGoogle Testを使ったときに、テストコードビルド時のリンクエラー「エントリー ポイントを定義しなければなりません。」を解消するのに以外と手間取ったので、メモ代わりの記事です。

拍手

PR
C++ソフトウェア開発のユニットテストで必要となるモックオブジェクトを簡単に実装できるライブラリとしてGoogleMock (Google C++ Mocking Framework) があります。
これを使うと、ある試験対象のクラスオブジェクトが参照している、別のクラスオブジェクトのダミーを簡単に作り出すことができるのでとても便利です。

このGoogleMockですが、ドキュメントの入門編やチートシートなどのリファレンスにあるのは、それぞれのテストケースの中でモックオブジェクトを生成し、それをテスト対象オブジェクトのコンストラクタに渡してやるという方法になっています。

確かに設計上はそのようになっているのが理想なのかもしれないですが、現実のコードではどこかでグローバル変数として定義されているオブジェクトを参照していることもザラなわけで。
では、そのグローバル変数のモックを作ることができないのでしょうか。

拍手

試しに Visual Studio 11 を使ってみることに。
長い時間インストールを待っている間に、C++関連でどんな機能が追加されてるのか以下で確認してみました。

What's New for Visual C++ in Visual Studio 11 Beta - MSDN
http://msdn.microsoft.com/en-us/library/hh409293%28VS.110%29.aspx


興味があるのだけ抜き出してるので、ところどころ飛ばしています。

拍手

いろいろと手当たり次第に試しているような気もする今日この頃。

OCR(光学文字認識)の機能を実現できないものかと思い立ち、フリーのOCRライブラリがないか探してみたところ、『Tesseract OCR』(テッサラクトOCR)なるものがあることを知ったので、これを試してみることにしました。

どうやらTesseract OCRのライブラリ自体はC++で書かれているようなのですが、ライブラリのビルド方法や自作アプリからの使用方法、各クラスや関数の説明などが少なく、分からないことが山積みで、Google先生の力を借りて検索してても日本語ドキュメントどころか英語の範囲でもなかなか見つからずに試行錯誤する羽目になりました。

今回のテストプログラムを作成するまでの過程を以下にまとめておきます。

拍手

Boostライブラリのバージョン1.49.0が出ていたので、お手軽なインストーラ(BoostPro)を使ってインストールしようと思ったんですが、なぜか現状、BoostProはバージョン1.47.0までしか公開されていない状態でした。
なので、今回Boostライブラリのソースをダウンロードしてビルドしてみたので、その手順をメモ代わりに書いておこうと思います。

あらかじめ、開発環境としてVisual C++がインストールされていることを前提としています。
私の環境では64bit版のWindows 7 にVisual Studio 2010がインストールされているので、ここではその場合の手順となっています。

拍手



忍者ブログ [PR]
プロフィール
HN:
はむぱい
職業:
ソフト作ったりしてる人
Twitter
最新CM
[06/09 replica rolex oyster perpetual datejust]
[06/09 bracelets imitation cartier love]
[06/09 replica the oyster perpetual datejust]
[06/09 datejust rolex oyster perpetual]
[06/09 replica gold love bangle]
カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログ内検索
あ~いい漢字