17

作業中のプロジェクトで使用されている Gtest のバージョンを確認するにはどうすればよいですか? 私はLinuxプラットフォームで作業しています。

4

3 に答える 3

4

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に保存され、コンパイル時にユーザーが利用できます。

于 2014-08-16T12:55:34.190 に答える
2

gtest ホーム ディレクトリにある CHANGES ファイルには、gtest のバージョン番号が含まれています。

于 2013-05-15T03:12:34.100 に答える