GTEST GMOCK使用入门-使用源码编译gtest gmock的方法

网上大部分教程,基于cmake生成gtest gmock库,用makefile生成gtest.a gmock.a的方法模糊,整理一篇文档,快速搞定这部分工作。

  1. cmake编译gooleetest源码生成gtest gmock库实际上更简单,习惯用makefile的参照本文。

  2. 先github下载googletest源码 https://github.com/google/googletest.git 切换到tag,找一个版本下载,我选择的是下面这个版本
    在这里插入图片描述
    关于编译方法,可以参照googletest和googlemock下面的README.md,这个很重要,看懂了就能编译了
    README
    里面详细记录了该怎么编译googletest,截图示例
    在这里插入图片描述

  3. linux编译简单-直接使用googletest和goolegmock下面自带makefile编译
    在这里插入图片描述

  4. windows上编译可以用上述的makefile,但是因为-pthread不支持,所以稍微有点问题,使用自己生成makefile的编译文件如下:

    object = main.o TestA.o sample1_unittest.o sample1.o
    cpp = ${fileter %.cpp}
    GTEST_DIR = ../googletest/googletest
    GMOCK_DIR = ../googletest/googlemock
    VPATH=${GTEST_DIR}/src:${GMOCK_DIR}/src
    GTESTHEAD=-I${GTEST_DIR}/include -I${GMOCK_DIR}
    all: libgtest.a libgmock.a test 
    
    test:$(object)
        g++  -isystem ${GTEST_DIR}/include $(object) libgtest.a libgmock.a -o  test
    
    #编译生成GTEST
    libgtest.a: gtest-all.cc
        g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR}\
        -pthread -c ${GTEST_DIR}/src/gtest-all.cc
        ar -rv libgtest.a gtest-all.o
    #编译生成GMOCK
    libgmock.a: gmock-all.cc
        g++ -isystem ${GMOCK_DIR}/include    ${GTESTHEAD}\
        -pthread -c ${GMOCK_DIR}/src/gmock-all.cc
        ar -rv libgmock.a gmock-all.o
    
    $(object):%.o:%.cpp
        g++  -c $< -I$(GTEST_DIR)/include -o $@
    
    
     .PHONY : clean
     clean:
         rm -rf $(object);
         rm -rf test.exe *.o *.a
    

    本机代码目录
    本机代码目录说明: googletest是github下载的源码目录, source 目录是 main.cpp等自定义文件目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值