日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

vs debug 模式生成的exe 另一台电脑_C++利用spdlog生成日志

發布時間:2025/4/5 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs debug 模式生成的exe 另一台电脑_C++利用spdlog生成日志 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境:Win10-x64+VS2015

spdlog是一個快速的C++日志庫,能夠兼容C++11,具備快速、無需依賴第三方庫、支持多線程、多平臺的優良特性!

下載編譯spdlog

1.第一步,下載spdlog

下載spdlog,下載地址:https://github.com/gabime/spdlog#header-only-version,從Github上下載zip壓縮包。下載完成后會獲取一個名為spdlog-1.x.zip的壓縮包

2.第二步,解壓縮

將壓縮包解壓,解壓后的內容如下所示
3.第三步,cmake構建工程

在第二步解壓后的目錄下,新建build文件夾(與第二步圖中bench、cmake等為同級目錄),打開命令行,進入build目錄下,執行以下命令

32位系統下執行:

> cmake -G "Visual Studio 14" ..

64位系統下執行:

> cmake -G "Visual Studio 14 2015 Win64" ..


這里注意,因為我們的VS使用的是2015,所以命令中指定的是Visual Studio 14。編譯成功后,build文件夾下的內容如下:

4.第四步,編譯

使用VS2015打開spdlog.sln項目,設置成debug x64模式,右鍵spdlog的解決方案(包含6個項目),生成解決方案!
編譯完成后,在解決方案同級目錄下生成了Debug文件夾(如果將平臺配置為Release|X64,會生成Release文件夾,如下,我生成了2個)。作為開發者的話,我們也可以只單個生成spdlog項目,不必生成解決方案下所有的項目。
編譯完成后,Debug或者Release文件夾下生成了lib文件,Debug模式下生成的lib文件名為spdlogd.lib,Release模式下生成的文件名為spdlog.lib。到這里,下載編譯即成功了!

配置并使用

1.第一步,構建靜態鏈接庫

首先觀察spdlog項目的屬性頁,spdlog項目使用的頭文件均包含在spdlog1.x\include下
新建一個文件夾Spdlog,作為一個依賴庫文件夾。將include文件夾賦值進去,并在Spdlog下新建lib文件夾,將生成的spdlogd.lib及spdlog.lib添加進lib文件夾中去。
2.第二步,在項目中配置spdlog的使用環境

打開項目的屬性,按如下配置:

  • C/C++>常規附加包含目錄:添加include目錄

  • 鏈接器常規附加庫目錄:添加lib目錄

  • 鏈接器常規附加依賴項:(Debug模式添加spdlogd.lib,Release模式添加spdlog.lib)

  • C/C++ -> 預處理器 -> 預處理器定義:里添加_SCL_SECURE_NO_WARNINGS

最后一項預處理器不添加可能會引發:
error C4996: ‘std::_Copy_impl’: Function call with parameters that may be unsafe?

3.第三步,代碼中使用spdlog

#include
#include
#include
#include

#include "spdlog/spdlog.h"
#include "spdlog/sinks/base_sink.h"
#include "spdlog/sinks/basic_file_sink.h"
#include "spdlog/sinks/stdout_color_sinks.h"
#include "spdlog/sinks/rotating_file_sink.h"

int main()
{
// 基本輸出
spdlog::info("信息");
spdlog::warn("警告");
spdlog::error("錯誤");
spdlog::critical("危險");
std::cout << "\n" << std::endl;

// 帶參輸出
spdlog::info("I am {} , {} years old !", "LYSM", 22);
std::cout << "\n" << std::endl;

// 類型轉換
spdlog::info("42 = int:{0:d}; hex:{0:x}; oct:{0:o}; bin:{0:b}", 42);
std::cout << "\n" << std::endl;

// 創建日志對象
auto my_logger = spdlog::basic_logger_mt("basic_logger", "logs/basic-log.txt");

// 輸出日志到文件
my_logger->info("輸出日志到文件");

// 刷新,否則只有程序結束時才會把日志寫入文件
my_logger->flush();

// 關閉日志對象
spdlog::drop_all();

getchar();
return 0;
}

求助:小編水平不行,不知道spdlog怎樣使用一個logger將日志輸出到控制臺并保存為文件。會的大佬請支個招,謝謝!

參考:

https://blog.csdn.net/Simon798/article/details/103686732

https://blog.csdn.net/u011218356/article/details/104964860/

總結

以上是生活随笔為你收集整理的vs debug 模式生成的exe 另一台电脑_C++利用spdlog生成日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。