macOS环境下gtest框架的使用

本篇主要讲述如何在macOS环境下使用googletest框架。

gtest安装

 
首先将gtest克隆至本地并进入:

1
2
git clone https://github.com/google/googletest
cd googletest

值得注意的是,由于笔者习惯使用gcc作为c++编译器,而在默认情况下,macos直接通过cmake编译gtest时使用的是clang,即输入cmake -DCMAKE_BUILD_TYPE=DEBUG后有显示如下
1
2
The C compiler identification is AppleClang 10.0.0.10001044
The CXX compiler identification is AppleClang 10.0.0.10001044

因此我们需要对CMakelists.txt作出更改,具体而言,有修改如下:
1
2
3
4
5
6
7
8
cmake_minimum_required(VERSION 2.8.8)

# THIS HAS TO COME BEFORE THE PROJECT LINE
set(CMAKE_C_COMPILER "/usr/local/Cellar/gcc/8.3.0/bin/gcc-8") # your gcc path
set(CMAKE_CXX_COMPILER "/usr/local/Cellar/gcc/8.3.0/bin/g++-8") # your g++ path
# THIS HAS TO COME BEFORE THE PROJECT LINE

project(googletest-distribution)

修改完成后就可以愉快地make && make install啦:
1
2
3
4
cd ~/googletest
mkdir build;cd build;
cmake..
make && sudo make install

至此googletest安装完毕,libgetst*.a文件及include已置入/usr/local/lib/usr/local/include

使用gtest

 
照常使用即可,如:

1
g++ test.cpp -lgtest -lpthread -o test.o