vs2012搭建gtest环境
2016-03-05 11:43
162 查看
1.google test 下载
官方网站:http://code.google.com/p/googletest/
大部分时间是无法访问此网站的,提供一个360云盘地址,版本是1.6.0: https://yunpan.cn/OcYJacxhPJAC2y 访问密码 1907
2.编译lib
下载完成之后,解压到本地,如下图:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305110951799-1097546786.png)
vs2012打开msvc目录下面的gtest.sln工程,工程属性设置界面。
设置你使用的字符集,我用的是unicode:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305111430424-1853021787.png)
、
指定你使用的运行库,此项请根据自己的需要Debug和Release分开设置
Debug
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305111724362-106160253.png)
Release
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305111822284-2108335322.png)
设置好属性之后开始编译,此时会报错,"std::tuple": 模板参数太多:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305112102846-112362842.png)
解决方法:
打开gtest根目录,include\gtest\gtest.h,加入宏定义 _VARIADIC_MAX
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305112545799-1512756495.png)
分别完成Release(生成的lib为gtest.lib)和Debug(生成的lib为gtestd.lib)的编译,为了方便以后使用,将生成的lib放到一个新的的lib文件夹中,同时拷贝include文件夹,讲这两个文件夹拷贝到自己的库路径下
例如我的拷贝到了E:\CODE_LIB\gtest下面:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305112937299-1006743663.png)
3.设置环境变量
为了方便在不同的电脑上编译,设置两个环境变量
GTEST_HOME 值 E:\CODE_LIB\gtest\include
GTEST_LIB 值 E:\CODE_LIB\gtest\lib
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305113313549-1354028154.png)
4.使用gtest
新建一个gtestdemo工程,注意指定的运行库要与gtest生成设置的一样,打开设置界面,如下设置:
设置包含目录和库目录
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305113802096-505218880.png)
设置链接附加依赖项
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305113924471-190422652.png)
demo代码如下:
运行结果:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305114145815-170613268.png)
官方网站:http://code.google.com/p/googletest/
大部分时间是无法访问此网站的,提供一个360云盘地址,版本是1.6.0: https://yunpan.cn/OcYJacxhPJAC2y 访问密码 1907
2.编译lib
下载完成之后,解压到本地,如下图:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305110951799-1097546786.png)
vs2012打开msvc目录下面的gtest.sln工程,工程属性设置界面。
设置你使用的字符集,我用的是unicode:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305111430424-1853021787.png)
、
指定你使用的运行库,此项请根据自己的需要Debug和Release分开设置
Debug
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305111724362-106160253.png)
Release
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305111822284-2108335322.png)
设置好属性之后开始编译,此时会报错,"std::tuple": 模板参数太多:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305112102846-112362842.png)
解决方法:
打开gtest根目录,include\gtest\gtest.h,加入宏定义 _VARIADIC_MAX
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305112545799-1512756495.png)
分别完成Release(生成的lib为gtest.lib)和Debug(生成的lib为gtestd.lib)的编译,为了方便以后使用,将生成的lib放到一个新的的lib文件夹中,同时拷贝include文件夹,讲这两个文件夹拷贝到自己的库路径下
例如我的拷贝到了E:\CODE_LIB\gtest下面:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305112937299-1006743663.png)
3.设置环境变量
为了方便在不同的电脑上编译,设置两个环境变量
GTEST_HOME 值 E:\CODE_LIB\gtest\include
GTEST_LIB 值 E:\CODE_LIB\gtest\lib
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305113313549-1354028154.png)
4.使用gtest
新建一个gtestdemo工程,注意指定的运行库要与gtest生成设置的一样,打开设置界面,如下设置:
设置包含目录和库目录
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305113802096-505218880.png)
设置链接附加依赖项
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305113924471-190422652.png)
demo代码如下:
#include "stdafx.h" #include <gtest/gtest.h> int Add(int a, int b) { return a+b; } TEST(AddTest, testdemo) { EXPECT_EQ(3, Add(1,3)); EXPECT_EQ(3, Add(5,3)); } int _tmain(int argc, _TCHAR* argv[]) { testing::InitGoogleTest(&argc, argv); RUN_ALL_TESTS(); getchar(); return 0; }
运行结果:
![](http://images2015.cnblogs.com/blog/746951/201603/746951-20160305114145815-170613268.png)
本文原创发表于 博客园,博主 Just_Us,欢迎转载,转载未经作者同意必须保留此段声明,并在文章首面明显位置给出原文链接,否则视为侵权 |
相关文章推荐
- 今天说一下DML触发器的顺序
- codevs - 图论 - Floyd
- Mysql事务及行级锁的理解
- 插入排序的java实现
- HDU 4405(概率DP)
- jquery更新后怎样在一个站点中使用两个版本号的jQuery
- 堆的操作的复杂度
- 2016太原网络营销师讲百度竞价(SEM)如何设计百度网盟账户?
- eclipse 调整注释文字大小
- 一种网络用户行为日志自动获取方法
- 问卷调查
- 把.sql文件恢复到mysql数据库方法
- Linux内核分析2:一个简单的时间片轮转多道程序内核代码分析
- 上机题目(初级)- 滚雪球(Java)
- 数制转换
- python基础(变量,续行符,is,round,if,字符串,日期,数学,参数)
- linux系统性能调优之vmstat
- 简易轮播图的封装
- sql server存储过程编程
- Pg168—2题 修改