SPDLOG 日志库的编译[arm、mingw、visual三平台]及使用简介

本文详细介绍了如何在不同平台上编译spdlog库,包括LinuxARM版本的交叉编译、MSYS2下的MingW32版本以及Windows下的Visual版本。同时,文章还展示了如何初始化和使用spdlog进行日志管理。

一、spdlog下载地址

链接: spdlog

二、交叉编译linux arm版本

1、修改CMakeLists.txt文件

在文件开头添加以下代码,指定C编译器、C++编译器及系统环境。

#当前使用的是交叉编译环境  
SET(CMAKE_SYSTEM_NAME Linux)  
#设置c编译器  
SET(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")  
#设置c++编译器  
SET(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
#设置安装路径
set(CMAKE_INSTALL_PREFIX "/home/lib/")

2、通过终端切换到源码根目录,执行以下命令。

//生成makefile文件
cmake
//生成动态、静态库
make
//将头文件及动态库安装到指定路径
make install

三、MSYS2编译mingw32版本的spdlog

1、通过终端mingw32切换到源码根目录

在这里插入图片描述

2、编译及安装指令

//生成makefile文件
cmake . -G "Unix Makefiles"
//编译
make
//安装
make install

在这里插入图片描述

四、windows下编译visual版本的spdlog

1、启动cmd命令行并切换到源码根目录

//生成visual2015的工程
cmake -G "Visual Studio 14 2015"

2、通过visual2015打开工程并进行编译

在这里插入图片描述

3、生成路径及库文件

在这里插入图片描述

五、使用简介

1、日志初始化,示例代码如下:

    switch (nType) {
    case MODE_DAILY:{
        //日日志
        auto log = spdlog::daily_logger_mt(strLogName.toStdString().data(), strLogPath.toStdString().data(), 2, 30);
        log->flush_on(spdlog::level::info);
    }
        break;
    case MODE_ROTATING:{
        //滚动日志
        auto max_size = 1048576 * nFileSize;
        auto max_files = nFileNum;
        auto log = spdlog::rotating_logger_mt(strLogName.toStdString().data(), strLogPath.toStdString().data(), max_size, max_files);
        log->flush_on(spdlog::level::info);
    }
        break;
    default:
        //滚动日志
        auto max_size = 1048576 * nFileSize;
        auto max_files = nFileNum;
        auto log = spdlog::rotating_logger_mt(strLogName.toStdString().data(), strLogPath.toStdString().data(), max_size, max_files);
        log->flush_on(spdlog::level::info);
        break;
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值