【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)

简介: 【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)

文章目录

相信大家都能感受到Visual Studio C++ 编辑器链接 lib 或 dll文件是一件非常头疼的事情。配置gooleTest的过程也不例外。

市面上很多教程,要么就不全,要么就缺少一些细节,导致我自己再配置的过程中,踩了很多坑。今天就记录一下。


前言

我使用的配置及工具如下:

软件 版本
Visual Studio C++ 2022
CMake编译工具 3.21
操作环境 windows10/11

一、下载gtest并编译

1.1 下载gtest源码

需要到github下载gtest源码,使用源码进行编译 [点击这里],解压到本地。我解压的路径是D:/googletest-main,路径下的内容如下:

(关注“测试开发自动化” 弓中皓,获取CMake工具、获取安装教程、咨询博主)

1.2 源码构建

打开cmake软件:

where is the source 处输入你 gtest 的路径:D:/googletest-main

where to build the binaries处输入你的构建路径:D:/googletest-main/build

注意:这里 build 的文件夹不需要你自己创建,构建过程中会自动生成一个build文件夹,这里存储的是构建后的文件。

然后,分别点击 Configure 后,再选择你的visual studio 的版本,这里我的是2022版。

(关注“测试开发自动化” 弓中皓,获取CMake工具、获取安装教程、咨询博主)

再点击 Generate,如下所示:

点击Open Project后,显示界面如下:

同时,你会发现在你的路径下多了一个build文件夹。


二、生成静态库lib

2.1 配置属性

右键点击解决方案中的 ALL_BUILD -> 属性

设置好 配置 平台,点击确定。

注意:这里的 配置 和 平台 非常重要,一定要记住!!!如果与你的测试工程不一致,调用gtest时,必会报错。

同时,设置好调试器的配置和平台:

2.2 生成静态库lib

继续右键 ALL_BUILD -> 生成

回到你的安装路径下build的文件夹中会发现,在路径下D:\googletest-main\build\lib\Release有四个lib文件。

至此,我们生成了需要调用的静态库。


三、使用gtest

3.1 创建项目

创建自己的项目:

新建一个名称为 Gtest测试.cpp 的文件,并输入我们要测试的C++代码:

3.2 引入gtest静态库

打开我们自己的 Gest测试.cpp 的工程路径,将上面生成的4个lib文件复制到工程路径下:

3.3 引入gtest头文件

同时,将gtest安装 D:\googletest-main\googletest\include 路径下的gtest 文件夹也复制到工程路径下:


四、检查测试工程的配置

4.1 检查测试工程配置

注意:检查我们测试工程的 配置 和 平台,一定要与生成 lib 时的配置(2.1节)一模一样。否则,程序会报错。

我的测试工程配置如下(2.1节的配置一样):

注意:这里测试代码的 C/C++ → 代码生成 → 运行库 也要与 googletest生成lib时的配置一样,我这里全部设置成了 多线程调试DLL(\mDd)

4.2 链接静态库

右键工程 >> 属性 >> 链接器 >> 输入 >> 附加依赖项,将4个lib文件分别填入附加依赖项中,点击确定。

4.3 测试代码

编写测试代码:

#include <iostream>
#include "gtest\gtest.h"
int add(int a, int b)
{
  return a + b;
}
TEST(testCase, test0)
{
  EXPECT_EQ(add(2, 3), 5);
}
int main()
{
  testing::InitGoogleTest();
  RUN_ALL_TESTS();
  getchar();
  return 0;
}

运行结果:


总结

码字不易,如果对您有帮助,点赞+收藏+关注!

(关注“测试开发自动化” 弓中皓,获取CMake工具、获取安装教程、咨询博主)


相关文章
|
7月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
1726 2
|
10月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
1491 3
|
7月前
|
IDE 编译器 开发工具
msvcp100.dll,msvcp120.dll,msvcp140.dll,Microsoft Visual C++ 2015 Redistributable,Visual C++ 运行库安装
MSVC是Windows下C/C++开发核心工具,集成编译器、链接器与调试器,配合Visual Studio使用。其运行时库(如msvcp140.dll)为程序提供基础函数支持,常因缺失导致软件无法运行。通过安装对应版本的Microsoft Visual C++ Redistributable可解决此类问题,广泛应用于桌面软件、游戏及系统级开发。
933 2
|
8月前
|
并行计算 C++ Windows
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
2823 4
|
编译器 C语言 C++
配置C++的学习环境
【10月更文挑战第18天】如果想要学习C++语言,那就需要配置必要的环境和相关的软件,才可以帮助自己更好的掌握语法知识。 一、本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 二、文本编辑器 通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。 C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。 在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。 Visual Studio Code:虽然它是一个通用的文本编辑器,但它有很多插
616 6
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
3105 3
|
编译器 C++ 开发者
【C++篇】深度解析类与对象(下)
在上一篇博客中,我们学习了C++的基础类与对象概念,包括类的定义、对象的使用和构造函数的作用。在这一篇,我们将深入探讨C++类的一些重要特性,如构造函数的高级用法、类型转换、static成员、友元、内部类、匿名对象,以及对象拷贝优化等。这些内容可以帮助你更好地理解和应用面向对象编程的核心理念,提升代码的健壮性、灵活性和可维护性。
|
编译器 C++ 容器
【c++11】c++11新特性(上)(列表初始化、右值引用和移动语义、类的新默认成员函数、lambda表达式)
C++11为C++带来了革命性变化,引入了列表初始化、右值引用、移动语义、类的新默认成员函数和lambda表达式等特性。列表初始化统一了对象初始化方式,initializer_list简化了容器多元素初始化;右值引用和移动语义优化了资源管理,减少拷贝开销;类新增移动构造和移动赋值函数提升性能;lambda表达式提供匿名函数对象,增强代码简洁性和灵活性。这些特性共同推动了现代C++编程的发展,提升了开发效率与程序性能。
504 12