本机环境:
注意,gtest的1.12.x分支是支持C++ 11的最后一个分支,后续分支的最低要求是C++ 14.
以我的RHEL 7.6 为例,系统自带的gcc版本是 4.8, 太老了,必须更新gcc的版本才能正常编译。
关于如何在RHEL上安装最新的gcc/g++编译器并实现不同版本的自由切换,请参考我的另一篇博文:
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
由于gtest本身比较小巧,所以多数情况下用户为了使用方便,就会直接以静态库的形式对其进行链接,当然了,我们也可以将googletest作为共享库来使用(windows下为dll)。
rm -rf *
cmake -DBUILD_SHARED_LIBS=ON ..
make
make install