博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再转一篇gtest1.6安装
阅读量:6951 次
发布时间:2019-06-27

本文共 929 字,大约阅读时间需要 3 分钟。

googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows、linux、Mac等OS平台上。下面,我来说明如何使用最新的1.6版本gtest写自己的单元测试。

源码的获取地址:

注意1.6这个版本不再提供make install,直接看README吧。

那么怎么编译呢?

先进入gtest目录(解压gtest.zip包过程就不说了),执行以下两行命令:

g++ -I./include -I./ -c ./src/gtest-all.cc

ar -rv libgtest.a gtest-all.o

 

碰到的问题:

/gtest-1.6.0/make$ make

g++ -I../include -g -Wall -Wextra -lpthread sample1.o sample1_unittest.o gtest_main.a -o sample1_unittest
gtest_main.a(gtest-all.o): In function `~ThreadLocal':下载了gtest1.5,gtest1.6,直接到make目录下执行make,总是报错如下:
/home/gary/share/gtest-1.6.0/make/../include/gtest/internal/gtest-port.h:1336: undefined reference to `pthread_getspecific'

原因是:

-lpthread的位置不对

g++ -I../include -g -Wall -Wextra sample1.o sample1_unittest.o gtest_main.a -o sample1_unittest –lpthread

这个主要是跟编译器获取符号有关,要满足先使用后定义才行。具体来讲就是,如果pthread在前面,编译器看到pthread_getspecific符号没有用到会丢弃掉,后面看到gtest-port需要,但pthread库已经被scan一遍并丢弃。

转载于:https://www.cnblogs.com/code-style/p/3374607.html

你可能感兴趣的文章
4.6. CSS Sprite
查看>>
博客园首页博问闪存新随笔联系订阅管理 随笔- 252 文章- 0 评论- 45 HashPasswordForStoringInConfigFile中的Md5算法并非常用的Md5算法...
查看>>
OpenGL入门笔记(十三)
查看>>
Web趋势地图
查看>>
Python天天美味(11) - 可爱的大小写
查看>>
单链表
查看>>
WF4:AcitivityAction和ActivityFunc
查看>>
诺基亚S40手机联系人导入安卓手机
查看>>
JS魔法堂:再识Bitwise Operation & Bitwise Shift
查看>>
Vue.js——60分钟快速入门
查看>>
WordPress动作钩子函数add_action()、do_action()源码解析
查看>>
javaweb学习总结(三十二)——JDBC学习入门
查看>>
基于mapreducer的图算法
查看>>
[LeetCode] Kth Largest Element in an Array
查看>>
CTF---Web入门第七题 猫抓老鼠
查看>>
用XAML做网页!!—边栏与页脚
查看>>
Arduino单片机使用和开发问题记录
查看>>
Mac 升级 OS X 10.8.2 后 VirtualBox 无法启动的问题
查看>>
Js~在文件中引入其它相关的JS文件
查看>>
第 37 章 Hypertable
查看>>