!!版權聲明:本文為博主原創文章,版權歸原文作者和博客園共有,謝絕任何形式的 轉載!!
作者:mohist
本文僅為參考,請以實際情況為准,
fmt版本: 7.0.1
准備
- 下載源碼fmt : https://github.com/fmtlib/fmt
- 沒有cmake ? 下載地址: https://cmake.org/download/
- 沒有win10 和 VS歷史版本? 下載地址: https://msdn.itellyou.cn/
- 注意: 這里的教程已經將cmake添加到環境變量中。
解壓
解壓下載好的fmt源碼 ,打開解壓文件夾后,創建文件夾build(用作cmake的輸出, 可創建到其他位置)
使用cmake生成解決方案
CMakeLists.txt中也可以看到有相關的變量設置生成為動態庫
命令行來到 build 目錄, 使用命令【cmake ..】【cmake - DBUILD_SHARED_LIBS = TRUE ..】生成含有動態庫的解決方案。 輸出如下:
--Building for: Visual Studio 14 2015
--CMake version : 3.18.0 - rc3
-- Selecting Windows SDK version to target Windows 10.0.18363.
--The CXX compiler identification is MSVC 19.0.24215.1
--Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler : C: / major / development / tools / vs_install / vs_2015 / VC / bin / cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Version : 7.0.1
--Build type : Release
-- CXX_STANDARD : 11
--Performing Test has_std_11_flag
-- Performing Test has_std_11_flag - Success
-- Performing Test has_std_0x_flag
-- Performing Test has_std_0x_flag - Failed
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success
-- Performing Test FMT_HAS_VARIANT
-- Performing Test FMT_HAS_VARIANT - Failed
-- Required features : cxx_variadic_templates
-- Looking for _strtod_l
-- Looking for _strtod_l - found
-- Target 'doc' disabled(requires doxygen)
--Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - not found
-- Found Threads : TRUE
-- Performing Test HAVE_FNO_DELETE_NULL_POINTER_CHECKS
-- Performing Test HAVE_FNO_DELETE_NULL_POINTER_CHECKS - Failed
-- FMT_PEDANTIC : OFF
-- Configuring done
-- Generating done
-- Build files have been written to : C: / fmt - 7.0.1 / build
打開 build 目錄下的 fmt.sln, 找到 fmt項目, 默認為靜態庫,我這里演示為生成的動態庫。
【若3中生成的是動態庫 和 使用靜態庫,則該步驟即可跳過】
選擇項目fmt, 右鍵選擇生成,根據需要 debug 和 releas 都需要生成。
找打生成的目標文件,
A、需要拷貝 源碼文件夾include 下的fmt文件夾,這里 包含了各種fmt需要的接口。
B、找到fmt項目生成的目標文件: fmtd.dll 和 fmtd.lib 。對應的還有release下的 fmt.dll 和 fmt.lib。
C、【注意】輸出的lib文件和dll文件所在的路徑是不同的(3 - 9 - 2020 新增)
還等什么, 趕快創建項目,體驗fmt帶給你的喜悅 吧。
可參考 : https://www.cnblogs.com/pandamohist/p/13362139.html