visual stdio使用spdlog教程
2021/10/20 23:40:22
本文主要是介绍visual stdio使用spdlog教程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这个文档的初衷是我想使用spdlog这个开源库,发现需要cmake编译成库文件使用,我就记录一下visual studio 下的配置过程,并写了测试程序,将代码会传送到GitHub方便后续自己查看学习。也方便读者进行阅读。
- spdlog项目地址
https://github.com/gabime/spdlog
- 本文档
- 将开源项目编译成库文件
- 加载库文件使用开源项目
开始干活
visual studio and cmake
第一步:下代码
git clone https://github.com/gabime/spdlog.git
我自己fork了一份,所以我本地使用我自己仓库的代码进行开发,大家使用作者仓库的就好。
本地命令流程:
$ git clone git@github.com:sexjun/spdlog.git Cloning into 'spdlog'... remote: Enumerating objects: 23116, done. remote: Counting objects: 100% (1493/1493), done. remote: Compressing objects: 100% (583/583), done. remote: Total 23116 (delta 879), reused 1206 (delta 754), pack-reused 21623 Receiving objects: 100% (23116/23116), 40.21 MiB | 425.00 KiB/s, done. Resolving deltas: 100% (15179/15179), done.
第二步:cmake生成vs工程
等待将代码下载下来后,进入代码我们可以看到cmake
的脚本文件:CMakeLists.txt
我们建立一个build文件夹,在这个文件夹里进行编译操作。
第三步:vs编译
编译完成后就会生成一个:vs的工程。我们使用vs打开这个工程。
打开这个工程后我们可以看到:总共有6个工程。
首先我们第一步是:全部生成
-
选中ALL_BUILD->鼠标右键->生成
-
我们可以在输出窗口看到:下图代表成功
第四步:vs安装
然后我们需要安装我们刚刚编译的东西,则执行:
看到输出:我们就可以看到安装到哪里了。当然默认是:debug 64位的,需要其他版本修改这里后,重复执行上述步骤即可。
通过输出窗口的输出:我们可以看到安装路径在:
头文件跟库文件都在:
1>-- Install configuration: "Debug" 1>-- Installing: C:/Program Files (x86)/spdlog/include 1>-- Installing: C:/Program Files (x86)/spdlog/lib/pkgconfig/spdlog.pc 1>-- Installing: C:/Program Files (x86)/spdlog/lib/cmake/spdlog/spdlogConfigTargets.cmake 1>-- Installing: C:/Program Files (x86)/spdlog/lib/cmake/spdlog/spdlogConfigTargets-debug.cmake 1>-- Installing: C:/Program Files (x86)/spdlog/lib/cmake/spdlog/spdlogConfig.cmake 1>-- Installing: C:/Program Files (x86)/spdlog/lib/cmake/spdlog/spdlogConfigVersion.cmake
这里安装失败的话,则需要使用管理员权限打开vs,方法为:
可以 win+q 搜索: devenv.exe进行下面操作
- 打开VS的安装目录,找到devenv.exe,右键,选择“兼容性疑难解答”
- 选择“疑难解答程序”
- 选择“该程序需要附加权限”
- 确认用户帐户控制后,点击测试程序
- 回到兼容性疑难解答对话框,点击下一步,然后选择“是,为此程序保存这些设置”
第五步:写个代码测试一下
现在我们就可以测试一下刚才的库文件了。
测试方法:
- 创建一个vs工程
- 开始测试
配置头文件路径:
配置头文件路径和配置库文件路径都不是必选的,因为windows默认的安装路径就是环境变量的位置。
但是配置的好处就是不会有代码标红报错。
C:/Program Files (x86)/spdlog/include/
配置库文件路径:
这一步一般是可以忽略的,因为从上面安装我们可以获取以下路径为安装
C:/Program Files (x86)/spdlog/lib/
- 执行测试
测试代码:
// spdlog_vs_pjx.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include "spdlog/spdlog.h" #include "spdlog/cfg/env.h" // support for loading levels from the environment variable #include "spdlog/fmt/ostr.h" // support for user defined types #include "spdlog/cfg/env.h" int main() { // Set the log level to "info" and mylogger to "trace": // SPDLOG_LEVEL=info,mylogger=trace && ./example spdlog::cfg::load_env_levels(); // or from command line: // ./example SPDLOG_LEVEL=info,mylogger=trace // #include "spdlog/cfg/argv.h" // for loading levels from argv // spdlog::cfg::load_argv_levels(args, argv); std::cout << "Hello World!\n"; spdlog::info("Welcome to spdlog version {}.{}.{} !", SPDLOG_VER_MAJOR, SPDLOG_VER_MINOR, SPDLOG_VER_PATCH); 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("{:>8} aligned, {:<8} aligned", "right", "left"); // Runtime log levels spdlog::set_level(spdlog::level::info); // Set global log level to info spdlog::debug("This message should not be displayed!"); spdlog::set_level(spdlog::level::trace); // Set specific logger's log level spdlog::debug("This message should be displayed.."); // Customize msg format for all loggers spdlog::set_pattern("[%H:%M:%S %z] [%^%L%$] [thread %t] %v"); spdlog::info("This an info message with custom format"); spdlog::set_pattern("%+"); // back to default format spdlog::set_level(spdlog::level::info); return 0; }
测试执行结果:
第六步:上传到GitHub
上传的网页网址为:https://github.com/sexjun/spdlog
获取代码的方式:git@github.com:sexjun/spdlog.git
这篇关于visual stdio使用spdlog教程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南