1.      编译

我们项目所用的编译器:arm-linux-androideabi-g++及其相应工具链

从http://code.google.com/p/googletest/downloads/detail?name=gtest-1.6.0.zip处获取gtest-1.6.0.zip

a)     下载解压后,需更新build-aux目录下的 config.sub 。此为必须,否则将不能识别arm-linux-androideabi工具链。Config.sub可从http://gcc.gnu.org/svn/gcc/branches/cilkplus/config.sub 获取。

b)     然后执行./configure -host=arm-linux-androideabi

c)      此后会生成Makefile 文件, 接着我们需要编辑Makefile文件, 改动CXXFLAGS为     CXXFLAGS = -g -O2 –DANDROID  。 此为必须,否则编译不能通过。

d)     最后执行make ,  在lib/.lib/目录下生成了libgtest.a文件。

2.      使用

假设项目只有两个文件: a.cpp;main.cpp 。

a)     a.cpp 为主要被测文件,为此我们创建了一个测试文件,其中包含对a.cpp的测试例,命名为a_unittest.cpp。

b)     修改main函数为如下:

int _tmain(int argc, wchar_t* argv[])

{

testing::InitGoogleTest(&argc,argv);

returnRUN_ALL_TESTS();

}

c)      修改被测项目的Makefile ,一使其包含gtest的include目录。二使其在link时,需加上libgtest.a文件,即最终可执行文件应为如下link而成: a.o + main.o  + a_unittest.o+ libgtest.a

gtest的单独编译和使用相关推荐

  1. Android AOSP 单独编译某一模块

    由于AOSP 项目太大,我只修改了一个模块,比如设置. 那么只需要单独编译设置这个模块就可以了. 首先执行Source: source build/envsetup.sh 执行之后,就会有一些额外的命 ...

  2. linux apache 安装 rewrite,linux下单独编译安装Apache rewrite_module

    Redhat linux下单独编译安装Apache rewrite_module Apache已经编译安装完了,今天弄了个lifebox,装完后发现必须得用rewrite,所以就给它装了个~~ 找到a ...

  3. android6.0单独编译和调试framework源码的方法

    缺省情况下,android 6.0的编译过程会优化framework.jar,这导致所有系统启动相关的文件(比如service.jar)一起打包到boot.oat中打包,并引入了checksum机制, ...

  4. c语言程序可以单独编译,c语言中的函数可不可以单独进行编译?_后端开发

    在C语言中,要求参加运算的数必须是整数的运算符是什么_后端开发 在C语言中要求参加运算的数必须是整数的运算符是"%":"%"符号在c语言中有两种释义,一是求余符 ...

  5. 烂泥:centos单独编译安装gd库

    本文首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没有安装gd库.如下: 目 ...

  6. 【i.MX6UL/i.MX6ULL开发常见问题】单独编译内核,uboot生成很多文件,具体用哪一个?...

    [i.MX6UL/i.MX6ULL开发常见问题]2.3单独编译内核,uboot生成很多文件,具体用哪一个? 答:内核编译出来的文件是~/MYiR-imx-Linux/arch/arm/boot/目录下 ...

  7. java webrtc ns降噪_单独编译和使用webrtc音频降噪模块(附完整源码+测试音频文件)...

    webrtc的音频处理模块分为降噪ns,回音消除aec,回声控制acem,音频增益agc,静音检测部分.另外webrtc已经封装好了一套音频处理模块APM,如果不是有特殊必要,使用者如果要用到回声消除 ...

  8. WebRTC 音频模块单独编译 --【转载】

    原文地址:http://billhoo.blog.51cto.com/2337751/1213801 [2015年2月15日] Bill 这段时间没有再关注 WebRTC 以及音频处理的相关信息,且我 ...

  9. 安卓系统源码编译系列(六)——单独编译内置浏览器WebView教程

    原文                   http://blog.csdn.net/zhaoxy_thu/article/details/18883015             本文主要对从安卓系统 ...

最新文章

  1. 汇编语言--转移指令的原理
  2. linux挂载点的容量设置
  3. P1334 瑞瑞的木板
  4. PID控制器开发笔记之九:基于前馈补偿的PID控制器的实现
  5. win8 mysql6_Win8系统 MySQL 6.0 安装图解
  6. 翻译Java虚拟机的结构
  7. Handler 引起的内存泄露
  8. ide进行php编程快捷键,PHP IDE phpstorm 快捷键
  9. Linux之ansible 自动化运维工具
  10. 水经注地图发布服务中件间功能简介
  11. 微信小程序 - WXML语法与HTML比较
  12. Windows 10 按电源键只关屏幕不休眠的解决办法
  13. 用Dockerfile构建MySQL镜像并实现容器启动过程中MySQL数据库系统的初始化
  14. 彻底解决汉诺塔问题——递归算法
  15. LDPC码简介【定义、特点、算法、Tanner】
  16. JAVA和MySQL实现公交管理_java+ssh+mysql城市公交管理系统(源码+论文+开题+任务书+中期检查+ppt)...
  17. 最有元宇宙“面相“的Discord, 及腾讯/阿里/网易/百度/字跳元宇宙可行性路径分析
  18. JimuReport - 积木报表(一款免费Web报表工具)
  19. app应用关键词排名都有哪些因素?
  20. 怎么设置桌面提醒任务,好用的桌面便签提醒工具

热门文章

  1. [转]C++中的static关键字的总结
  2. NGUI-Tweens
  3. HDU 1874 畅通工程续
  4. android staticlayout使用讲解,可实现文本绘制换行处理
  5. 手机端实现6位短信验证码input输入框效果(样式及代码方法)
  6. 安装python解释器
  7. ThinkPHP集成万象优图
  8. 从零开始编写自己的C#框架(20)——框架异常处理及日志记录
  9. 把 LiveData 用于事件传递那些坑
  10. Android 使用Adapter适配器模式实现无线轮播BannerView