首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >建立gtest版本

建立gtest版本
EN

Stack Overflow用户
提问于 2013-02-04 20:58:08
回答 3查看 9.3K关注 0票数 17

我如何知道我正在处理的项目中使用的是哪个版本的Gtest?我在linux平台上工作。

EN

回答 3

Stack Overflow用户

发布于 2014-08-16 20:55:34

libgtestlibgtest_main库的源代码不包含允许识别其版本的特殊函数(如GetGTestVersion ()或其他)。此外,头文件没有任何已定义的标识符(例如GTEST_VERSION或其他标识符)。所以你不能在运行时在用户代码中检查Google C++ Testing Framework的版本。

但是维护者提供了特殊的脚本scripts/gtest-conf作为框架的一部分,它:

代码语言:javascript
复制
...
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.
...

这个脚本有几个与版本相关的选项:

代码语言:javascript
复制
...
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
...

该脚本还包含其使用示例:

代码语言:javascript
复制
Examples:
gtest-config --min-version=1.0 || echo "Insufficient Google Test version."
...

这意味着用户可以在构建时使用script gtest-config测试框架的版本。

便笺

在配置期间,脚本gtest-config通过在configure.ac中声明的变量获取框架的实际版本。

代码语言:javascript
复制
...
AC_INIT([Google C++ Testing Framework],
        [1.7.0],
        [googletestframework@googlegroups.com],
        [gtest])
...

在调用autoconf之后,configure文件内部填充了以下标识符:

代码语言:javascript
复制
...
# 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中,并在编译时可供用户使用。

票数 4
EN

Stack Overflow用户

发布于 2013-05-15 11:12:34

gtest主目录中的文件更改包含一个gtest版本号。

票数 2
EN

Stack Overflow用户

发布于 2019-06-19 00:46:20

如果你已经克隆了official repo,你可以在Google Test的目录中检查最新的Git提交(例如使用git log -n 1git rev-parse HEAD),并将其与released versions列表进行比较。

在我的例子中,提交散列是ec44c6c1675c25b9827aacd08c02433cccde7780,结果是对应于release-1.8.0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14687282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档