33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
# spdlog + fmt
|
||
spdlog: v1.15.0 2025-01-12 14:37 from https://github.com/gabime/spdlog
|
||
内嵌fmt v11.1 from https://github.com/fmtlib/fmt
|
||
|
||
两种调用方式:dll和HEADER_ONLY。
|
||
如果需要dll调用,c++编译选项的宏定义里需要增加SPDLOG_COMPILED_LIB,没有设置默认SPDLOG_HEADER_ONLY.
|
||
|
||
编译dll时cmake改动的选项:
|
||
开启:BUILD_SHARED
|
||
关闭:BUILD_TEST、BUILD_EXAMPLE
|
||
优化:(tweakme.h需要对应修改)
|
||
SPDLOG_NO_ATOMIC_LEVELS
|
||
SPDLOG_WCHAR_FILENAMES
|
||
SPDLOG_WCHAR_TO_UTF8_SUPPORT
|
||
SPDLOG_DISABLE_DEFAULT_LOGGER
|
||
|
||
# json 3.11.3 2023-11-29
|
||
from https://github.com/nlohmann/json
|
||
|
||
# sqlite 3.47.2
|
||
from https://www.sqlite.org/
|
||
注意:
|
||
1. 没有区分debug、release版,
|
||
2. 没有pdb,
|
||
3. 没有lib,但提供了一个def文件,可以有def文件生成lib文件。
|
||
|
||
推荐方案:
|
||
编译前判断$(OutDir)中是否存在sqlite.lib文件是否存在,不存在就从def文件生成lib文件。
|
||
|
||
实现方法:
|
||
在vc项目的生成事件/生成前事件:
|
||
命令行:if not exist "$(OutDir)sqlite3.lib" lib /def:"$(SolutionDir)3rdParty\lib\sqlite3.def" /out:"$(OutDir)sqlite3.lib" /machine:x64
|
||
说明:Generate sqlite3.lib from sqlite3.def if it does not exist |