#author("2022-12-29T10:41:26+09:00","","")
#author("2023-02-01T21:04:07+09:00","","")
#topicpath


/////////////////////////////////////////////////////////////////////////////////
* 目次 [#l314fd42]
#contents();


/////////////////////////////////////////////////////////////////////////////////
* 環境構築 [#rac407bd]
- 下記から一式 DownLoad する:
 $ git clone https://github.com/google/googletest.git
- タグでチェックアウトする
 $ git checkout release-1.12.1
- ビルドする(要 cmake)
 $ cd googletest/build
 $ cmake ..
 $ make
これでスタティックライブラリ等がビルドされる
 $ pwd
 googletest/build
 
 $ find -name *.a
 ./lib/libgtest.a
 ./lib/libgmock.a
 ./lib/libgmock_main.a
 ./lib/libgtest_main.a


/////////////////////////////////////////////////////////////////////////////////
* C++11以降 での注意点 [#nd252d48]
- 通常、C++11 のコードを g++ でビルドするときは
 -std=c++11
または
 -std=c++0x
を付与する。しかしこれでは fileno(), open() などの関数が無効化されてしまい、ビルドが通らなくなる。この場合、上記の代わりに
 -std=gnu++
を付与すればよい。

|~language |~ToolChain       |~option    |~option GNU Extended) |~remark |
|C++11     |(All?)           |-std=c++11 |-std=gnu++            | |
|~|         GCC4.3~4.6       |-std=c++0x |-std=gnu++0x          | |
|~|         GCC4.7 or later  |-std=c++11 |-std=gnu++11          | |
|C++14     |Clang3.5~4.0     |-std=c++1y |-std=gnu++1y          | |
|~|         Clang5 or later  |-std=c++14 |-std=gnu++14          | |
|~|         GCC4.8~4.9       |-std=c++1y |-std=gnu++1y          | |
|~|         GCC5.1 or later  |-std=c++14 |-std=gnu++14          | |
|C++17     |Clang3.5~4.0     |-std=c++1z |-std=gnu++1z          | |
|~|         Clang5 or later  |-std=c++17 |-std=gnu++17          | |
|~|         GCC6.1~7.0       |-std=c++1z |-std=gnu++1z          | |
|~|         GCC7.1~11.0      |-std=c++17 |-std=gnu++17          | |
|~|         GCC11.1 or later |(NONE)     |-std=gnu++17          |デフォルトで C++17が有効となる(-std=gnu++17) |
|C++20     |Clang5~10.x      |-std=c++2a |-std=gnu++2a          | |
|~|         Clang11 or later |-std=c++20 |-std=gnu++20          | |
|~|         GCC8.1~10.0      |-std=c++2a |-std=gnu++2a          | |
|~|         GCC10.1 or later |-std=c++20 |-std=gnu++20          | |
|C++23     |Clang12 or later |-std=c++2b |-std=gnu++2b          | |
|~|         GCC11.1 or later |-std=c++23 |-std=gnu++23          |-std=c++2b, -std=gnu++2b も使える |
-- 参考:[[cpprefjp - C++日本語リファレンス>https://cpprefjp.github.io/implementation.html]]




/////////////////////////////////////////////////////////////////////////////////
* 参考リンク [#m9c6cb6b]
- [[Google Test ドキュメント日本語訳 » 入門ガイド>http://opencv.jp/googletestdocs/primer.html]]
- [[GoogleTest (C++ テストフレームワーク) の基本的な使用方法>https://www.qoosky.io/techs/5cde719e89]]
- [[GoogleTestでC++のコードをテストする>http://qiita.com/tjun/items/8047bf50930e6de36bdc]]
- [[Google Mock ドキュメント日本語訳>http://opencv.jp/googlemockdocs/index.html]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS