在linux上使用CMake构建和安装gtest

一、准备工作

本机环境:

  • 系统版本:RHEL 7.6
  • GCC/G++版本: 12.1.1
  • googletest版本:1.12.1

注意,gtest的1.12.x分支是支持C++ 11的最后一个分支,后续分支的最低要求是C++ 14.

以我的RHEL 7.6 为例,系统自带的gcc版本是 4.8, 太老了,必须更新gcc的版本才能正常编译。

关于如何在RHEL上安装最新的gcc/g++编译器并实现不同版本的自由切换,请参考我的另一篇博文:
《编译gtest报错‘is_trivially_copy_constructible’ is not a member of ‘std’》

二、构建并安装gtest的静态库

到一个合适的目录中(本文中是/opt/gtest),执行以下操作:

git clone https://github.com/google/googletest.git -b release-1.12.1
cd googletest        # Main directory of the cloned repository.
mkdir build          # Create a directory to hold the build output.
cd build
cmake ..             # Generate native build scripts for GoogleTest.
make
make install         # 注意普通用户需要在前面加sudo,否则会权限不足导致安装失败

可以看到静态库能够成功构建并安装成功,注意默认安装路径是 /usr/local

20230102152724

20230102152957

三、构建并安装gtest的共享库

由于gtest本身比较小巧,所以多数情况下用户为了使用方便,就会直接以静态库的形式对其进行链接,当然了,我们也可以将googletest作为共享库来使用(windows下为dll)。

再次进入build目录, 使用参数 -DBUILD_SHARED_LIBS=ON 进行构建即可:

rm -rf *
cmake -DBUILD_SHARED_LIBS=ON ..
make
make install

20230102153715

查看相关目录可见,此时静态库和共享库已经都有了

20230102153730

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

smart_cat

你的鼓励将是我写作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值