抛弃GdCpp*.dll/pdb历史重新建库。libhv和Sqlite的dll保留

This commit is contained in:
Zhang Jianjun
2026-02-02 16:09:02 +08:00
parent f148ca49e3
commit 4a2a284ac0
292 changed files with 350450 additions and 0 deletions

73
include/Tools.h Normal file
View File

@@ -0,0 +1,73 @@
#pragma once
#include "GdCPP_Exports.h"
#include <cstdint>
#include <vector>
#include <string>
#include "sVersion.h"
GDCPP_API int64_t getTimeMsTick();
GDCPP_API void OutputDebugPrintf(const char* strOutputString, ...);
GDCPP_API bool GetFileVersion(const wchar_t* sTargetFileName, std::wstring& verstr);
GDCPP_API bool GetFileVersion(const wchar_t* sTargetFileName, sVersion& ver);
GDCPP_API bool GetFileVersion(const wchar_t* sTargetFileName, sVersion2& ver);
GDCPP_API bool GetProductVersion(const wchar_t* sTargetFileName, std::wstring& verstr);
GDCPP_API bool GetProductVersion(const wchar_t* sTargetFileName, sVersion& ver);
GDCPP_API bool GetProductVersion(const wchar_t* sTargetFileName, sVersion2& ver);
inline bool GetFileVersion(const std::wstring& sTargetFileName, std::wstring& verstr)
{
return GetFileVersion(sTargetFileName.c_str(), verstr);
}
inline bool GetFileVersion(const std::wstring& sTargetFileName, sVersion& ver)
{
return GetFileVersion(sTargetFileName.c_str(), ver);
}
inline bool GetProductVersion(const std::wstring& sTargetFileName, std::wstring& verstr)
{
return GetProductVersion(sTargetFileName.c_str(), verstr);
}
inline bool GetProductVersion(const std::wstring& sTargetFileName, sVersion& ver)
{
return GetProductVersion(sTargetFileName.c_str(), ver);
}
// 检查当前进程所使用的 VC 运行库版本
GDCPP_API int CheckVcRuntimeVersion(sVersion& Ver);
GDCPP_API bool installVcRuntime(const fs::path& binPath, const sVersion& minVer);
GDCPP_API int GetMotherboardAndBIOSInfo(std::wstring& Manufacturer, std::wstring& Model, std::wstring& BisoVer, bool needCoInit=false);
GDCPP_API BOOL BrowseDirectory(HWND hwnd, LPTSTR lpszDir);
GDCPP_API uint32_t crc32update_f4soft(uint32_t crc, uint32_t* pBuffer, uint32_t len);
GDCPP_API uint32_t crc32calc_f4soft(uint32_t* pBuffer, uint32_t len);
static inline bool createDirIfNotExist(fs::path& dir, spdlog::logger& log, const char* tip) {
if (!fs::exists(dir)) {
std::error_code _Ec;
if (!fs::create_directory(dir, _Ec)) {
log.error("创建{}目录{}失败: {}", tip, dir.u8string(), _Ec.message());
return false;
}
}
return true;
}
static inline bool createDirIfNotExist(fs::path& dir, spdlog::logger& log, const std::string& tip) {
if (!fs::exists(dir)) {
std::error_code _Ec;
if (!fs::create_directory(dir, _Ec)) {
log.error("创建{}目录{}失败: {}", tip, dir.u8string(), _Ec.message());
return false;
}
}
return true;
}