vs2013环境下配置gtest

好记性不如烂笔头o(^▽^)o

vs2013环境下配置gtest

前言

一开始按照这里玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest来配置,发现一些坑,并写了一个直接可运行的demo,这里记录之。

前期准备

1、从github上down代码:https://github.com/google/googletest
2、进入googletest文件夹
这里写图片描述

3、进入mvsc文件夹,用vs2013打开 gtest.sln,提示升级什么的点是就好了
这里写图片描述

4、分别在DEBUG和RELEASE版本下编译,编译成功后在 msvc/gtest 下生成两个文件夹
这里写图片描述

5、将两个文件夹下生成的lib拷贝出来,在include平行的目录下新建一个lib文件夹,将4个lib放在这里
这里写图片描述

开始第一个demo

1、新建一个vs工程,Win32 Console Application
2、设置runtime library
这里写图片描述

为啥这么设置?和你打开的gtest.sln工程保持一致,不信自己去看。

3、配置头文件的搜索路径
这里写图片描述

4、配置lib库的搜索路径,这个路径就是我们之前创建的lib文件夹
这里写图片描述

5、配置链接依赖项,将 gtest.lib, gtest_main.lib, gtestd.lib, gtest_maind.lib加入
这里写图片描述

6、配置完毕,撰写代码如下:
这里 Foo 函数的代码借用了开头那篇文章的链接

#include <tchar.h>
#include <gtest/gtest.h>

int Foo(int a, int b)
{
    if (a == 0 || b == 0)
    {
        throw "don't do that";
    }
    int c = a % b;
    if (c == 0)
        return b;
    return Foo(b, c);
}

TEST(FooTest, HandleNoneZeroInput)
{
    EXPECT_EQ(2, Foo(4, 10));
    EXPECT_EQ(6, Foo(30, 18));
}

int _tmain(int argc, _TCHAR* argv[])
{
    testing::InitGoogleTest(&argc, argv);
    RUN_ALL_TESTS();
    system("pause");
    return 0;
}

7、运行
这里写图片描述

常见问题

1、gtest error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
原因:你按照那篇文章,在设置Additional Dependencies时,只设置了 gtestd.lib,缺少getst_maind.lib。

2、error C2061: syntax error : identifier ‘_TCHAR’
解决方法:添加头文件 #include <tchar.h>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值