再转一篇gtest1.6安装
http://www.cppblog.com/izualzhy/archive/2012/07/31/185772.html
googletest是一个用来写C++单元测试的框架,它是跨平台的,可应用在windows、linux、Mac等OS平台上。下面,我来说明如何使用最新的1.6版本gtest写自己的单元测试。
源码的获取地址:
http://code.google.com/p/googletest/downloads/list
注意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一遍并丢弃。
相关文章
- 安装Ubuntu 16.04可以进行优化补充的事
- windows下安装Mysql
- 安装Docker-CE时报错,Requires: container-selinux >= 2:2.74
- ubuntu下如何检查nvidia显卡驱动是否安装OK?
- Neural Style学习2——环境安装
- Python3源代码编译安装
- PXE安装windows系统,pxe-e55:ProxyDhcp service did not reply to request on port 4011
- 厌倦了安装数据库?改用 Docker
- [安装]如何安装eciplise
- ubuntu20.04环境安装Python3.8+uwsgi
- mysql5.7安装配置教程(一看就会)
- linux环境下questasim 10.7的安装步骤
- centos安装nginx
- Sublime Text 3 常用插件以及安装方法(vue 插件)
- nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
- archlinux安装nvidia-1050ti闭源驱动教程,亲测