gtest 编译、安装和使用
1. 下载 gtest 源码包,并解压,如:/home/hdc/gtest-1.7.0;
libgtest_main_no_exception.so libgtest_main.so libgtest_no_exception.so
- #ifndef FUNC_C
- #define FUNC_C
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- int fac(int nInput);
- #ifdef __cplusplus
- }
- #endif
- #endif // FUNC_C
- #include "func.h"
- int fac(int nInput)
- {
- if(nInput < 0) {
- return -1;
- }
- int nRev = 1;
- for(int i = 1; i <= nInput; ++i){
- nRev *= i;
- }
- return nRev;
- }
- #include <limits>
- #include "func.h"
- #include "gtest/gtest.h"
- TEST(Fac_test, input_negative){
- EXPECT_EQ(-1, fac(-1));
- EXPECT_EQ(-1, fac(-2));
- EXPECT_EQ(-1, fac(-5));
- }
- TEST(Fac_test, input_zero){
- EXPECT_EQ(1, fac(0));
- }
- TEST(Fac_test, input_positive){
- EXPECT_EQ(1, fac(1));
- EXPECT_EQ(2, fac(2));
- EXPECT_EQ(6, fac(3));
- }
- CC = gcc
- CPP = g++
- LINK = g++
- CFLAGS = -g -Wall -Werror -Wextra -std=gnu99
- CPPFLAGS = -g -Wall -Werror -Wextra
- LIBS = -L/usr/lib/gtest -lgtest -lgtest_main
- C__SOURCES = $(wildcard *.c)
- CPPSOURCES = $(wildcard *.cpp)
- OBJECTS = $(patsubst %.c, %.o, $(C__SOURCES)) $(patsubst %.cpp, %.o, $(CPPSOURCES))
- TARGET = sample_unittest
- first: all
- %.o: %.c
- $(CC) -c $(CFLAGS) -o $@ $<
- %.o: %.cpp
- $(CPP) -c $(CPPFLAGS) -o $@ $<
- all: $(TARGET)
- $(TARGET): $(OBJECTS)
- $(LINK) $(CPPFLAGS) $(LIBS) -o $(TARGET) $(OBJECTS)
- .PHONY: clean
- clean:
- rm -f $(TARGET) $(OBJECTS)
gtest 编译、安装和使用相关推荐
- TVM:源码编译安装
TVM:Linux源码编译安装 笔者环境: OS:Ubuntu 18.04 CMake:3.10.2 gcc:7.5.0 cuda:11.1 编译安装过程总览 本文将简介 tvm 的编译安装过程,包含 ...
- ros加载编译opencv-3.4.9,编译安装opencv-3.4.9
ros加载编译opencv-3.4.9 ros中配置opencv 1.加载自己的open ...
- Fast DDS入门二、Fast DDS在Windows平台的编译安装
Fast DDS入门五.在Windows平台创建一个简单的Fast DDS示例程序 1 Fast DDS动态库的编译安装 本节提供了在Windows环境中从源代码安装Fast DDS的说明.将安装以下 ...
- 配置Fairseq的wav2ec采坑日志3:编译安装flashlgiht
编译安装 flashlight 最终结论 vcpkg版本的安装不适合国内,因为不可访问.所以使用源代码编译版本. !!!注意!!! 不好意思各位:按照如下教程只能保证编译通过,但是最终测试遇到库依赖的 ...
- Windows 10下编译安装Hadoop2.6
转自:https://www.linuxidc.com/Linux/2016-08/134131.htm Windows 10下安装Hadoop2.6,Windows10下编译64位Hadoop2.x ...
- 7 centos 源码安装samba_在CentOS7.6里编译安装PHP7.4(最新版),很详细
拿到一个空的服务器,首先我们就要来用起来啦! 首先要先下载并编译安装PHP最新版本,请到php官网下载: 这里我首先在系统里在新建存储源码包的文件夹,比如我存放在这里 下载安装PHP7.4之前,你要先 ...
- mysql8.0.12最小化安装_简述MySql8.0编译安装过程
[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) 注意:不要用8以下的系统编译My ...
- debian编译安装python_编译安装python2.7及相关模块(debian5.0.1)
基础环境说明及安装 当前系统 cat /etc/debian_version 5.0.1 因自带的python版本太旧 开发需要使用python2.7的版本 并需要paramiko Crypto My ...
- php编译7教程,PHP7 快速编译安装
PHP7正式版发布啦, 之前没有安装过的,都来安装试一试 . 即将发布的ThinkPHP5 在PHP7环境下也完全兼容, 佩服鸟哥把兼容性做得这么好 快速编译安装PHP7步骤: 第一步: 安装必要一些 ...
- linux mysql 5.6.22_LinuxCentOS6.0下编译安装MySQL5.6.22
Linux CentOS6.5下编译安装MySQL 5.6.22[给力详细教程] 一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库(安装过程注意有没出错) yum install gcc ...
最新文章
- spring27: bean装配-基于xml
- 关于学生信息录入(文件操作)的心得体会
- 微信月活跃用户数6.97亿 全球十大消息应用第四
- 微服务实践(五):微服务的事件驱动数据管理
- 微信jssdk 图片上传 JAVA_微信jssdk图片上传
- 菜鸟之路-浅谈设计模式之单例设计模式
- sklearn自学指南(part49)--字典学习
- python怎么查询元素是否在列表中_python怎么判断某一元素是否在列表中
- 如果你还不明白Hello,World!
- 1一10到时的英文单词_哈尔滨一山羊皮,叫雪地皮衣!刮风下雪不冻身,10年免洗不过时...
- python中元组和列表的区别_Python 序列:列表、元组
- 生产执行系统MES架构设计及应用架构
- 解决wps缺少字体的问题
- NUC8i7HNK下ubuntu16.04LTS安装realsense
- linux格式化卡死,在Linux中格式化SD卡失败
- 微信分享功能踩坑过程
- React 中 TypeScript 和装饰器及 Hooks
- STAF学习系列--安装及配置
- RISC_V(0) 指令集架构
- DTW学习(dynamic time warping)——思想、代码实现
热门文章
- python正则表达式面试_Python面试 Re-正则表达式
- turtle fillcolor_使Python中的turtle模块画图两只小羊
- C++中 Vector使用方法
- 使用eclipse调试ns3配置说明
- 工业交换机在工业通信领域的应用分析
- 【渝粤题库】陕西师范大学600001物理化学(上) 作业(专升本)
- 【渝粤题库】广东开放大学 人力资源管理(本科) 形成性考核
- php如何禁用浏览器的缓存,php如何禁止浏览器使用缓存页面
- 【MFC系列-第32天】控件自绘技术
- Java面向对象(12)--对象类型转换 (Casting )