抛弃GdCpp*.dll/pdb历史重新建库。libhv和Sqlite的dll保留
This commit is contained in:
73
include/Tools.h
Normal file
73
include/Tools.h
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user