Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

这篇具有很好参考价值的文章主要介绍了Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、关于C++中的开源日志库spdlog

Java中有很多日志库:java.util.logging、Log4j、Logback、Log4j2、slf4j、common-logging。C++的日志库相对来说就比较少了,比如说glog、log4cpp、spdllog等,目前个人感觉比较好用的C++开源日志库当属于spdlog了,跨平台,支持cmake编译,在维护中。
具体可以参考github上面的示例:https://github.com/gabime/spdlog
另外spdlog支持两种使用方式:一种是将源代码目录下的include头文件直接添加到自己的项目中使用;另一种使用cmake编译构建出lib静态库或者dll动态库之后以静态和动态链接方式使用。

二、在Windows10中使用cmake和VS2022编译构建spdlog库

1、下载spdlog源代码

首先从github上面下载spdllog的zip包源代码:spdlog-1.x.zip
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
下载完spdlog-1.x.zip之后,将其解压到自己电脑的某个目录下,比如:D:\env目录

2、使用Cmake编译spdlog源代码

首先确保自己的电脑上已经安装了Cmake,我安装的Cmake版本是3.22.1。目前spdlog支持cmake的构建,跨平台支持Windows、Linux、MacOS等,spdlog最低支持cmake 3.10版本。如果没有安装cmake可以到cmake官网下载,目前最新版本的稳定版cmake是3.25版本,下载地址为:https://cmake.org/download/

  • cmake-3.25.0-windows-x86_64.msi
  • cmake-3.25.0-windows-x86_64.zip
  • 如下图所示:
    Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
如果是在Linux或MacOS下使用cmake编译构建比较简单,如下:

$ git clone https://github.com/gabime/spdlog.git
$ cd spdlog && mkdir build && cd build
$ cmake .. && make -j

安装好Cmake之后,接下来打开Cmake-Gui开始编译构建spdlog源代码了。
首先在D:\env\spdlog-1.x源码目录新建一个build目录,这样做的好处是将编译生成的文件全部放到一起,防止污染源代码。Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
选择了源代码目录和编译生成之后,点击左下角的·Configure·按钮,会弹出对话框,让我们选择Visual Studio编译器,我电脑上安装了VS2017和VS2022,此处我选择了Visual Studio 17 2022,下面的平台我选择了x64位,选好之后点击Finish按钮,如下图所示:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
上面红色的部分大家可以根据自己的需求来进行勾选,比如说CMake_INSTALL_PREFIX这一项默认安装目录是:C:/Program Files/spdlog,我们可以根据自己的需要修改;SPDLOG_BUILD_SHARED可以编译出动态库;SPDLOG_BUILD_TESTS可以编译出测试示例。此我保持默认选项。

接着在Cmake-gui界面,点击Generate按钮,如下图所示:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
点击Generate按钮之后,可以看到D:\env\spdlog-1.x\build编译生成目录下面多出了一个spdlog的VC++工程,如下图所示:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

最后在Cmake-Gui界面中,点击Open Project按钮,选择VS2022打开spdlog项目,如下图所示:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
或者直接到D:\env\spdlog-1.x\build目录下,找到spdlog.sln工程文件,直接使用VS2022打开也可以,效果是等价的。
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
默认是Debug模式,x64位,我们选择ALL_BUILD项目,右键菜单中选择生成
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

可以看到最终生成了spdlogd.lib静态库和example.exe示例程序。所在目录为:D:\env\spdlog-1.x\build\DebugD:\env\spdlog-1.x\build\example\Debug
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
同样的,我们可以生成Releasex64位的spdlog.lib静态库,如下图所示:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
编译生成出了spdlogd.libspdlog.lib库之后,我们可以将includ头文件和库文件放在某个目录下,供自己创建spdlog项目中使用,如下图所示:

Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

PS D:\spdlog-1.x>
PS D:\spdlog-1.x> tree
卷 Data 的文件夹 PATH 列表
卷序列号为 3EE8-BA3A
D:.
├─include
│  └─spdlog
│      ├─cfg
│      ├─details
│      ├─fmt
│      │  └─bundled
│      └─sinks
└─lib
    ├─Debug
    └─Release
PS D:\spdlog-1.x>

3、VS2022使用spdlog项目

打开VS2022,新疆一个基于VC++的控制台项目
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

为该项目添加spdlog的头文件和lib库文件,由于是Debug x64项目,所以需要选择对应的spdlogd.lib库,如下所示:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
lib库目录:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
然后在程序中添加如下的spdlogTest01.cpp代码:

#include "spdlog/spdlog.h"

int main() 
{
    spdlog::info("Welcome to spdlog!");
    spdlog::error("Some error message with arg: {}", 1);
    
    spdlog::warn("Easy padding in numbers like {:08d}", 12);
    spdlog::critical("Support for int: {0:d};  hex: {0:x};  oct: {0:o}; bin: {0:b}", 42);
    spdlog::info("Support for floats {:03.2f}", 1.23456);
    spdlog::info("Positional args are {1} {0}..", "too", "supported");
    spdlog::info("{:<30}", "left aligned");
    
    spdlog::set_level(spdlog::level::debug); // Set global log level to debug
    spdlog::debug("This message should be displayed..");    
    
    // change log pattern
    spdlog::set_pattern("[%H:%M:%S %z] [%n] [%^---%L---%$] [thread %t] %v");
    
    // Compile time log levels
    // define SPDLOG_ACTIVE_LEVEL to desired level
    SPDLOG_TRACE("Some trace message with param {}", 42);
    SPDLOG_DEBUG("Some debug message");
	
	return 0;
}

运行上述代码,结果如下图所示:
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
至此,Windows10中使用VS2022和Cmake编译构建、使用spdlog日志库完毕,当然如果是Release x64位的则需要选择spdlog.lib库了。文章来源地址https://www.toymoban.com/news/detail-415999.html

到了这里,关于Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • windows下Cmake配置vs2022工程

    我电脑安装的是vs2022但是 cmake的gui 没有vs2022的选项 只有2019 而且选择2019 生成编译环境是错的 提示 “visual studio 16 2019 could not find any instance of visual studio.” 解决方法如下 先利用vs2022创建一个cmake项目 在项目路径下执行命令 生成如下 我们再去看cmake的配置UI上看 就已经有了我

    2024年02月12日
    浏览(54)
  • opencv4.7.0 win10 源码编译 vs2019 cmake

    步骤: ① 编译opencv源码;注意几个下载内容;根据cmakedownloadlog.txt中的说明 ② 生成opencv.sln,先使用ALL_BUILD生成 ③ 然后对install工程进行生成 ④ 使用:离线使用,opencv文件夹 install的include lib bin 等复制到当前工程下的文件夹;然后配置属性     配置属性时注意一下路径,工

    2024年02月04日
    浏览(68)
  • win10 + vs2017 + cmake3.17 编译 freetype2.6.5

    按照cmake安装的正常流程走即可。 依赖库:zlib,png. 备注: 在cmake--Configure时,配置zlib和png依赖库。修改cmake的install目录。 两个依赖库的安装,在我的其他教程里有。不再赘述。

    2024年02月05日
    浏览(48)
  • Jpeg-9e源码编译(Win10,VS2022)

    Jpeg-9e源代码下载网址 http://www.ijg.org/ 下载后得到文件 解压缩到“D:SourceCodesjpeg-9e” 在目录“D:SourceCodesjpeg-9e”中创建文本文件,并改名为“win32.mak”,其内容如附注所示。 使用命令行,进入VS2022开发者命令行窗口 cd D:ProgramsMicrosoft Visual Studio2022CommunityVCAuxiliaryBuild D

    2024年02月04日
    浏览(59)
  • win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑

    教程参考:osgEarth源码编译(Win10+VS2019+OSG3.6.5+osgEarth2.10.0)   错误: xmemory0(881): error C2440: “初始化”: 无法从“std::pairconst _Kty,_Ty”转换为 to _Objty 出错位置: src/osgEarthFeatures/FeatureSourceIndexNode.cpp 解决办法: 参考https://github.com/gwaldron/osgearth/pull/1188/files 参考博客 :博客园 问

    2024年02月05日
    浏览(64)
  • windows下使用microsoft、intel、gnu不同编译器利用cmake和vscode对c++和fortran程序进行编译和调试

    由于编译器支持特性、编译后程序运行速度、安装使用便捷程度等的不同,我们往往会安装多种不同的编译器。对于c++语言主要的编译器有:microsoft、intel、gnu等,对于fortran语言则更多,包括gnu、intel、pgi等等。不同的编译器在一个系统下,往往需要利用一些手段进行区分,

    2024年02月05日
    浏览(59)
  • Windows环境下C++ 安装OpenSSL库 源码编译及使用(VS2019)

    参考文章 https://blog.csdn.net/xray2/article/details/120497146 之所以多此一举自己写多一篇文章,主要是因为原文内容还是不够详细。而且我安装的时候碰到额外的问题。 一般情况下,引入别人的库,要么把代码直接搞进去,一起编译。要么引入库和头文件(就像MYSQL那样),都不复杂

    2024年02月14日
    浏览(45)
  • Win10 + VS2022 + OpenCV 4.7 + contrib + cuda加速 编译

    https://download.csdn.net/download/Kasper_2009/88252429 https://download.csdn.net/download/Kasper_2009/88252429 在cmd命令中打nvidia-smi看支持的cuda最高版本 cuda版本选择也不能过于早,作者之前用过cuda11.2,在后续vs编译环节发现其最高只支持vs2019,不支持vs2022。目前作者使用cuda11.8。 下载安装cuda:CU

    2024年02月17日
    浏览(45)
  • 【交叉编译踩坑指北(一)】windows10下Vscode与Cmake编译生成文件

      工具链版本如下 C:UsersLenovocmake -version cmake version 3.24.2 C:UsersLenovomingw32-make -v GNU Make 4.2.1 Built for x86_64-w64-mingw32   若没有以上工具则进行安装,将bin文件加入到环境变量中, 注意:有的交叉编译器在安装时选择自动加入环境变量可能并不会加入,还是需要手动加入环

    2023年04月15日
    浏览(51)
  • cmake 编译opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版以及vs2022配置opencv-gpu

    cmake 编译opencv4.5.5/opencv4.6.0/opencv4.7.0 gpu版本编译方法相同,本文以opencv4.5.5为例 一定确保已经成功安装了cuda工具包,以及VS编译器,清单如下 cuda工具包 visual studio 编译器 cmake构建工具 opencv源码 opencv-contrib源码 1.1 cmake构建工具下载 https://cmake.org/download/ 1.2 opencv源码下载 官网

    2023年04月25日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包