C++Windows11平台通过CMake在VS2022上面配置Googletest1.14.0

2024-05-12 18:44

本文主要是介绍C++Windows11平台通过CMake在VS2022上面配置Googletest1.14.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Release v1.14.0 · google/googletest (github.com),在官网下载Googletest1.14.0(Release版本,本博客默认你已经安装好了CMake)。

将下载好的压缩包解压到你的文件夹。

打开对应的文件夹。

开启控制台窗口,依次输入以下命令

mkdir build
cd build
cmake ..

进入到build项目中,用VS2022打开图中的.sln文件。

先将VS2022的模式切换成Release版本

右击项目文件夹,点击生成解决方案。

再切换成Debug模式重复一遍上面的操作

 回到build文件夹发现多出了lib文件夹

 进入到lib文件夹,发现了刚刚在VS2022里面Debug模式和Release模式下生成的文件。

检查以上文件是否缺失(如果缺失就删除build文件夹,重新来一遍上面的操作) 。

打开VS2022在任意文件夹下创建一个新的控制台项目。

将VS2022的模式改成Release。

设置好包含目录和库目录,点击应用。

将下面四个静态库文件的名称复制到链接器输入中的附加依赖库里,点击应用。

gmock.lib
gmock_main.lib
gtest.lib
gtest_main.lib

把下面这段代码复制到.cpp文件中。

#include <gtest/gtest.h>// 定义一个测试类
class MyTestSuite : public ::testing::Test {
protected:// 在测试套件之前的设置static void SetUpTestSuite() {// 进行一些初始化操作}// 在测试套件之后的清理static void TearDownTestSuite() {// 进行一些清理操作}// 在每个测试用例之前的设置void SetUp() override {// 进行一些初始化操作}// 在每个测试用例之后的清理void TearDown() override {// 进行一些清理操作}
};// 定义一个测试用例
TEST_F(MyTestSuite, TestCase1) {// 进行测试断言ASSERT_EQ(2 + 2, 4);
}TEST_F(MyTestSuite, TestCase2) {// 进行测试断言ASSERT_TRUE(5 > 3);
}// 主函数
int main(int argc, char** argv) {// 初始化gtest::testing::InitGoogleTest(&argc, argv);// 运行所有的测试用例return RUN_ALL_TESTS();
}

运行项目发现报错了。

根据错误信息,我们遇到了运行时库的不匹配问题。错误指出我们的项目和gtest库使用了不同的运行时库。解决此问题的方法是确保项目和gtest库都使用相同的运行时库,进入到这个界面。

在“运行时库”选项中,确保项目和gtest库都使用相同的运行时库。如果gtest库是作为静态库构建的,则应选择“多线程(/MT)”选项;如果gtest库是作为动态库构建的,则应选择“多线程调试DLL(/MDd)”或“多线程DLL(/MD)”选项,我们用的是.lib文件所以是静态库构建的,要选用/MT

再次运行,成功运行,至此配置googletest结束。

这篇关于C++Windows11平台通过CMake在VS2022上面配置Googletest1.14.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983430

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�