作業中のプロジェクトで使用されている Gtest のバージョンを確認するにはどうすればよいですか? 私はLinuxプラットフォームで作業しています。
3 に答える
libgtest
またはライブラリのソースコードにはlibgtest_main
、バージョンを認識できる特別な関数が含まれていません (何かのようなGetGTestVersion ()
もの)。また、ヘッダー ファイルには定義済みの識別子がありません (似たようなものなどGTEST_VERSION
)。Google C++ Testing Framework
そのため、実行時にユーザー コード内でのバージョンを確認することはできません。
しかし、メンテナーは、フレームワークの一部として特別なスクリプトscripts/gtest-confを提供します。
...
provides access to the necessary compile and linking
flags to connect with Google C++ Testing Framework, both in a build prior to
installation, and on the system proper after installation.
...
とりわけ、このスクリプトにはバージョンに関連するいくつかのオプションがあります。
...
Installation Queries:
...
--version the version of the Google Test installation
Version Queries:
--min-version=VERSION return 0 if the version is at least VERSION
--exact-version=VERSION return 0 if the version is exactly VERSION
--max-version=VERSION return 0 if the version is at most VERSION
...
スクリプトには、その使用例も含まれています。
Examples:
gtest-config --min-version=1.0 || echo "Insufficient Google Test version."
...
これは、ユーザーがスクリプトを使用してビルド時にフレームワークのバージョンをテストできることを意味しますgtest-config
。
注:
スクリプトは、 configure.acgtest-config
で宣言された変数を使用して、構成中にフレームワークの実際のバージョンを取得します。
...
AC_INIT([Google C++ Testing Framework],
[1.7.0],
[googletestframework@googlegroups.com],
[gtest])
...
そして、入力されたファイルautoconf
内で次の識別子を呼び出した後:configure
...
# Identity of this package.
PACKAGE_NAME='Google C++ Testing Framework'
PACKAGE_TARNAME='gtest'
PACKAGE_VERSION='1.7.0'
PACKAGE_STRING='Google C++ Testing Framework 1.7.0'
PACKAGE_BUGREPORT='googletestframework@googlegroups.com'
PACKAGE_URL=''
...
# Define the identity of the package.
PACKAGE='gtest'
VERSION='1.7.0'
...
フレームワークがオプションAC_CONFIG_HEADERSでコンパイルされている限り、この識別子はファイルbuild-aux/config.h
に保存され、コンパイル時にユーザーが利用できます。
gtest ホーム ディレクトリにある CHANGES ファイルには、gtest のバージョン番号が含まれています。