#ifndef _GD_CPP_H_ #define _GD_CPP_H_ #include "GdCPP_Exports.h" #include // for CString // 常用标准C++库 #include #include #include #include #include namespace fs = std::filesystem; // 常用功能 #include "AlignSize.h" #include "CTic.h" #include "properties.h" #include "sVersion.h" // 放在这目的是让GdCpp的sVersion优先于IGrabber目录里的 #include "StringHelper.h" // 常用第三方库函数 #include "json\ksjson.h" #include "spdlog/spdlog.h" #include "spdlog/fmt/chrono.h" // support for user defined types #include "spdlog/fmt/fmt.h" #include "spdlog/fmt/ostr.h" // support for user defined types #include "spdlog/fmt/xchar.h" #include "spdlog/fmt/bundled/printf.h" #include "Tools.h" #ifdef SPDLOG_COMPILED_LIB #ifdef _DEBUG #pragma comment(lib, "spdlogd.lib") #else #pragma comment(lib, "spdlog.lib") #endif #endif /** * * 定义宏PURE_VIRTUAL_CLASS,加在一个纯虚类前面,告诉VC编译器不创建虚表,减小生成的代码, * 并避免链接错误"error LNK2001: 无法解析的外部符号 __purecall" * * 对于linux下的GCC编译器不需要这个指定,PURE_VIRTUAL_CLASS定义为空, */ #ifndef PURE_VIRTUAL_CLASS #ifdef _MSC_VER // VC编译器 #define PURE_VIRTUAL_CLASS __declspec(novtable) #else // 其它编译器 #define PURE_VIRTUAL_CLASS #endif #endif #endif //_KS_CPP_H_