- 安装环境
CentOS 32-bit
- 安装步骤
- 从google test官方网站上下载gtest-1.6.0源码包。(源代码目录中的README中有gtest在各种平台的安装说明)
-
gtest不是传统的unix安装模式(./configure; make; make install)
-
进入 ${GTEST_DIR}(这个是gtest解压后的目录,我的是~/Open/gtest-1.6.0)
- g++ -I./include -I./ -c ./src/gtest-all.cc
- ar -rv libgtest.a gtest-all.o
- 验证是否成功
- cd ${GTEST_DIR}/make 会发现这个文件下有个Makefile
- make 会生成一些sample执行文件
- 选一个执行,./sample1_unittest,如果看到典型的gtest输出log就说明成功了
- 使用示例
- 安装与验证完毕之后还不能直接使用
-
- 将${GTEST_DIR}/include/gtest这个目录拷贝到/usr/local/include
- 将${GTEST_DIR}/libgtest.a拷贝到/usr/local/lib
- 这样就可以直接使用头文件<gtest/gtest.h>和静态库libgtest.a
- 创建~/test目录,然后将${GTEST_DIR}/samples里面的sample1.cc sample1.h sample1_unittest.cc,拷贝过来。
- 写一个Test.cc,代码如下
- 编译过程如下
- $g++ -o sample1.o -c sample1.cc
- $g++ -o sample1_unittest.o -c sample1_unittest.cc
- $g++ -o Test.o -c Test.cc
- $g++ -o main sample1.o sample1_unittest.o Test.o -lgtest -lpthread
- 由于/usr/local/include被拷贝了gtest目录 /usr/local/lib被拷贝了libgtest.a所以可以
- 直接使用<gtest/gtest.h>与-lgtest,另外也需要libpthread.a所以要加-lpthread
- 最后生成可执行文件main,$./main的输出结果与上面的./sample1_unittest一样的结果。