【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工具、获取安装教程、咨询博主)


相关文章
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
466 4
|
2月前
|
编译器 C语言 C++
配置C++的学习环境
【10月更文挑战第18天】如果想要学习C++语言,那就需要配置必要的环境和相关的软件,才可以帮助自己更好的掌握语法知识。 一、本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 二、文本编辑器 通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。 C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。 在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。 Visual Studio Code:虽然它是一个通用的文本编辑器,但它有很多插
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
513 3
|
3月前
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
4月前
|
安全 编译器 C++
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
这些是Microsoft Visual C++不同版本的Redistributable安装包,用于32位系统,确保相关应用正常运行。它们提供C++运行时环境,简化部署流程,支持第三方库及框架,并确保应用兼容性。定期更新可修复问题并引入新功能。在空间有限或需解决程序冲突时可考虑删除,但需谨慎操作以防影响应用稳定性和兼容性。删除前请确认无应用依赖,并通过控制面板安全卸载。
251 1
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
|
3月前
|
JavaScript 前端开发 Java
通过Gtest访问C++静态、私有、保护变量和方法
通过Gtest访问C++静态、私有、保护变量和方法
97 0
|
4月前
|
NoSQL 编译器 C语言
VSCode配置配置C++环境
VSCode配置配置C++环境
117 1
|
4月前
|
C++ 容器
【C++航海王:追寻罗杰的编程之路】关于空间配置器你知道多少?
【C++航海王:追寻罗杰的编程之路】关于空间配置器你知道多少?
36 2
|
4月前
|
缓存 C++ Windows
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
|
4月前
|
编译器 C++ 开发者
Visual Studio属性表:在新项目中加入已配置好的C++库
通过以上步骤可以确保Visual Studio中新项目成功地加入了之前已配置好的C++库。这个过程帮助开发者有效地管理多个项目中共享的库文件,提升开发效率。
127 0