每天进步一点点——ubuntu 13.10中安装google的gtest库
来源:互联网 发布:2017pta编程题答案 编辑:程序博客网 时间:2024/04/26 02:46
转载请说明出处:http://blog.csdn.net/cywosp/article/details/23684523
gtest测试框架是google开源的用于在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试用例的项目。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集, 用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。
gtest项目官方网址:https://code.google.com/p/googletest
本文主要讲解在ubuntu 13.10上通过apt-get命令来安装gtest。具体步骤如下:
1. 先下载源码
sudo apt-get install libgtest-dev
2. 由于在ubuntu的软件库中没有提供gtest的库文件,因此,第1步的操作只是下载了必要的源码,如果此时在项目中引入gtest/gtest.h头文件,代码在编译时期是没有问题的,只是在连接的时候会找不到对应的库文件。那么如何编译并生成所需的gtest库呢?
首先,先确保系统已经安装了cmake编译工具,如果没有安装则可以执行sudo apt-get install cmake;其次安装如下步骤操作即可:
cd /usr/src/gtest #安装libgtest-dev后,gtest的源码会被放置在该目录中, 目录及文件结构大概如下:
├── cmake│ └── internal_utils.cmake├── CMakeLists.txt└── src├── gtest-all.cc├── gtest.cc├── gtest-death-test.cc├── gtest-filepath.cc├── gtest-internal-inl.h├── gtest_main.cc├── gtest-port.cc├── gtest-printers.cc├── gtest-test-part.cc└── gtest-typed-test.cc
sudo cmake -E make_directory build #创建一个gtest的编译目录
sudo cmake -E chdir build cmake .. >> /dev/null #创建并生成Makefile文件
sudo cmake --build build >> /dev/null #编译
ls build/libgtest* #编译后build目录中会生成如下两个文件
build/libgtest.a build/libgtest_main.a
sudo cp build/libgtest* /usr/local/lib/ #将生成的库文件拷贝到对应的库目录中,这里拷贝到/usr/local/lib/下
sudo rm -rf build #删除无用的目录
3. 在使用gtest的项目中引入libgtest.a库即可。注:在gtest使用了系统的线程库,所以在项目中还需要引入pthread库
4. 源码编译gtest库与上述的操作有点类似,只是需要到https://code.google.com/p/googletest/downloads/list中去下载源码包,解压后按照cmake编译项目的方法操作即可。
5. 关于如何使用gtest可以参考系列文章http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html
3 0
- 每天进步一点点——ubuntu 13.10中安装google的gtest库
- 每天进步一点点——ubuntu 13.10中安装google的gtest库
- 每天进步一点点——形象化描述数据结构中基本概念
- 每天进步一点点——Linux下的磁盘缓存
- 每天进步一点点——Linux下的磁盘缓存
- 设计文档的心得——每天进步一点点
- 每天进步一点点——C++11中使用lambda表达式实现一个简单的ScopeGuard
- 每天进步一点点——MySQL中能够使用索引的典型场景
- 每天进步一点点—mysql-mysqldump
- 每天进步一点点—SQL优化
- 每天进步一点点生活就是进步的
- ubuntu 安装 google Gtest
- 每天进步一点点——Swift中HTTP返回码解析
- 【算法题汇总(每天进步一点点)——持续更新中】
- 安装google的gtest库
- 每天进步一点点——linux——ls
- 每天进步一点点——linux——pwd
- 每天进步一点点——linux——mkdir
- OC排序
- POJ1611
- mysql新增字段、注释、指定位置新增字段、删除字段。
- 一个苹果证书怎么多次使用——导出p12文件
- UVa 10142 Australian Voting
- 每天进步一点点——ubuntu 13.10中安装google的gtest库
- [效率]Source insight标题栏中路径显示完整路径的方法
- JQuery中$.ajax()方法参数详解
- alpha版、beta版、rc版的意思
- MVC3 上传文件
- Json lib 对于hibernate的懒加载的存在问题的解决方法
- 各个浏览器同一时间对同一域名下的请求的数量限制
- 关于js的全局对象
- STM32 定时器浅谈_1