1. 程式人生 > 實用技巧 >win10使用cmake配置fmt生成vs2015解決方案

win10使用cmake配置fmt生成vs2015解決方案

本文僅為參考,請以實際情況為準,

1、準備

  下載原始碼fmt :https://github.com/fmtlib/fmt

  沒有cmake? 下載地址:https://cmake.org/download/

  沒有win10 和 VS歷史版本? 下載地址:https://msdn.itellyou.cn/

注意: 這裡的教程已經將cmake新增到環境變數中。

2、解壓

  解壓下載好的fmt原始碼 ,開啟解壓資料夾後,建立資料夾build (用作cmake的輸出, 可建立到其他位置)

3、使用cmake生成解決方案

  開啟 build 目錄, 使用命令【cmake ..】生成:對應的解決方案。 輸出如下:

C:\fmt-7.0.1\build>cmake ..
-- 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

  4、開啟 build 目錄下的 fmt.sln, 找到 fmt專案, 預設為靜態庫,我這裡演示為生成的動態庫。   

5、選擇專案fmt, 右鍵選擇生成,根據需要 debug 和 releas 都需要生成。

6、找打生成的目標檔案,

  A、需要拷貝 原始碼資料夾include 下的fmt資料夾,這裡 包含了各種fmt需要的介面。

  B、找到fmt專案生成的目標檔案: fmtd.dll 和 fmtd.lib 。對應的還有release下的 fmt.dll 和 fmt.lib。

還等什麼, 趕快建立專案,體驗fmt帶給你的喜悅 吧。   

可參考 :https://www.cnblogs.com/pandamohist/p/13362139.html