ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

gmock试用

2021-05-28 20:01:01  阅读:323  来源: 互联网

标签:googlemock gmock 编译 gtest googletest 试用 usr


萌新来体验一下gmock。

编译gmock库

https://github.com/google/googletest.git上clone下来,是一个唤作googletest的目录。因为现在gmock的代码已经整体和gtest合并了。

googletest目录下有个README.md,里面白底黑字提醒了编译器版本:

++++++++++++++++++++++++++++++++++++++++README.md
### Compilers

*   gcc 5.0+
*   clang 5.0+
*   MSVC 2015+

我机器上gcc是4.x的,所以先升级gcc,不然有可能变异不过的。

然后编译过程是酱紫的:

# 主目录下有googlemock和googletest,今天我们是来体验mock的
cd gooletest/googlemock
# 注意在googlemock下,cmake父录
cmake ../
# 编
make

编译结果

在googletest/googlemock/lib下面生成了四个编译结果

$pwd; ls
/home/myname/googletest/googlemock/lib
libgmock.a  libgmock_main.a  libgtest.a  libgtest_main.a

把这些库都放到他们应该在的地方,比如 /usr/lib64下面,当然也可以在/usr/lib64下创建软链接。

头文件

不要忘记了头文件,gtest和gmock的头文件分别在这里,放到/usr/include下或者创建软链接。

/home/myname/googletest/googlemock/include/gmock/

/home/myname/googletest/googletest/include/gtest/

一个例子

这里直接用了https://www.cnblogs.com/welkinwalker/archive/2011/11/29/2267225.html这个例子,编译命令:

g++ -o out *.cc -lgtest -lgmock -lpthread

一开始始终报各种undefined错误,仔细检查原来机器上之前安装了1.6.0版本的gtest,这导致当前刚编译的最新版本的gmock和机器上1.6.0版本的gtest不兼容,仔细检查/usr/lib64和/usr/include下面库和头文件是不是gtest和gmock都指向了同一个版本就可以编译成功了。

$./out
Returned Value: Hello World!

回头再来看原理。

标签:googlemock,gmock,编译,gtest,googletest,试用,usr
来源: https://blog.csdn.net/haolianglh/article/details/117372697

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有