小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

vs下使用spdlog歷程

 武林幽憶 2024-05-19 發(fā)布于江蘇

一、簡介

spdlog是c++下一個輕量級高效日志庫,spd是speed的縮寫,該庫支持vs2013以上版本。

二、當(dāng)前軟件及需要的軟件

操作系統(tǒng)為Windows 10, 編譯IDE環(huán)境為VS2012,無CMake與spdlog。

三、安裝歷程

github上的spdlog最低支持VS2013,我下的版本是spdlog-1.14.1,資源鏈接如下:https://codeload.github.com/gabime/spdlog/zip/refs/tags/v1.14.1

卸載VS2012,并安裝VS2019。cmake開始用的是3.12.0版本,此版本支持VS最高版本為VS2017,如果非要選擇的話,會提示

CMake Error at CMakeLists.txt:13 (project): Failed to run MSBuild command: MSBuild.exe

后為下載cmake-3.28.5-windows-x86_64.msi,該版本支持VS2019。

四、編譯

如下圖,進行配置,上一層目錄為spdlog源碼目錄,下一層目錄為源碼目錄下的build目錄,選完后點Configure,再點Generate即可生成VS2019所對應(yīng)的工程。 

五、移植到項目

5.1 路徑設(shè)置

以上分別對應(yīng)庫文件位置和頭文件位置,并在vs2019中設(shè)置:

此時就可以使用spdlog庫了。

5.2、添加頭文件

// cpp
#include "spdlog\spdlog.h"
#include "spdlog\cfg\env.h"  
#include "spdlog\fmt\ostr.h" 

auto daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.txt", 2, 30);

auto類型是無法定義成全局變量,而且也不能定義為成員變量,auto自身特性決定它只能作為臨時變量,為了能成為全局變量,需要明確的類型。

#include "spdlog\spdlog.h"
#include "spdlog\cfg\env.h"   
#include "spdlog\fmt\ostr.h"  
#include "spdlog\sinks\daily_file_sink.h"

std::shared_ptr<spdlog::logger> daily_logger = spdlog::daily_logger_mt("daily_logger", "logs/daily.txt", 2, 30);

在其它cpp文件中只要如下聲明就可以使用這個全局變量了:

#include "spdlog\sinks\daily_file_sink.h"

extern std::shared_ptr<spdlog::logger> daily_logger;

這是只是將每日生成日志功能作為一個實例來講解,其它類型日志均可參考以上流程與代碼。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多