diff --git a/WinDevice/Audio/AudioEnum.h b/WinDevice/Audio/AudioEnum.h index 7f85ffe..553ba3b 100644 --- a/WinDevice/Audio/AudioEnum.h +++ b/WinDevice/Audio/AudioEnum.h @@ -1,6 +1,6 @@ #pragma once -enum AudioDeviceType +enum WINDEVICE_API AudioDeviceType { Render, Capture diff --git a/WinDevice/Audio/AudioManager.h b/WinDevice/Audio/AudioManager.h index 5588ad5..cd12308 100644 --- a/WinDevice/Audio/AudioManager.h +++ b/WinDevice/Audio/AudioManager.h @@ -2,7 +2,7 @@ #include -class AudioManager +class WINDEVICE_API AudioManager { public: AudioManager(); diff --git a/WinDevice/Device/UserDeviceInfo.h b/WinDevice/Device/UserDeviceInfo.h index fb6bbfd..005e945 100644 --- a/WinDevice/Device/UserDeviceInfo.h +++ b/WinDevice/Device/UserDeviceInfo.h @@ -4,7 +4,7 @@ #include namespace WinDevice { - struct OsInfo { + struct WINDEVICE_API OsInfo { // 操作系统名称 std::string name; unsigned long majorVersion; @@ -14,12 +14,12 @@ namespace WinDevice { int64_t totalMemory; }; - struct CpuInfo { + struct WINDEVICE_API CpuInfo { std::string name; int coreCout; }; - struct GpuInfo { + struct WINDEVICE_API GpuInfo { std::string name; /** * \brief 厂商Id @@ -34,14 +34,14 @@ namespace WinDevice { size_t vram; }; - struct DisplayMonitorInfo { + struct WINDEVICE_API DisplayMonitorInfo { std::shared_ptr monitor; std::string name; long width; long height; }; - struct UserDeviceInfo { + struct WINDEVICE_API UserDeviceInfo { std::shared_ptr cpu; std::shared_ptr os; std::shared_ptr> gpu; diff --git a/WinDevice/Device/WinDeviceManager.h b/WinDevice/Device/WinDeviceManager.h index 8fff806..46bca56 100644 --- a/WinDevice/Device/WinDeviceManager.h +++ b/WinDevice/Device/WinDeviceManager.h @@ -6,7 +6,7 @@ namespace WinDevice { - class WinDeviceManager { + class WINDEVICE_API WinDeviceManager { public: WinDeviceManager(); ~WinDeviceManager(); diff --git a/WinDevice/Export.h b/WinDevice/Export.h new file mode 100644 index 0000000..a683dd9 --- /dev/null +++ b/WinDevice/Export.h @@ -0,0 +1,7 @@ +#pragma once + +#ifdef WINDEVICE_EXPORTS +#define WINDEVICE_API __declspec(dllexport) +#else +#define WINDEVICE_API __declspec(dllimport) +#endif \ No newline at end of file diff --git a/WinDevice/Utils/CmdUtil.h b/WinDevice/Utils/CmdUtil.h index 1c6f4e8..7dc261b 100644 --- a/WinDevice/Utils/CmdUtil.h +++ b/WinDevice/Utils/CmdUtil.h @@ -1,7 +1,8 @@ #pragma once +#include "Export.h" #include -class CmdUtil +class WINDEVICE_API CmdUtil { public: static std::string ExecuteCommand(const std::string& command); diff --git a/WinDevice/Utils/Log.h b/WinDevice/Utils/Log.h index 0493af9..8ca5dcd 100644 --- a/WinDevice/Utils/Log.h +++ b/WinDevice/Utils/Log.h @@ -1,4 +1,5 @@ #pragma once +#include "Export.h" #include "spdlog/spdlog.h" enum LogLevel : int diff --git a/WinDevice/Utils/StringUtil.h b/WinDevice/Utils/StringUtil.h index cb5c9af..05839e9 100644 --- a/WinDevice/Utils/StringUtil.h +++ b/WinDevice/Utils/StringUtil.h @@ -1,21 +1,21 @@ #ifndef STRING_UTIL_H #define STRING_UTIL_H - +#include "Export.h" #include #include #include template -To Convert(const From& input) { +WINDEVICE_API To Convert(const From& input) { std::wstring_convert, typename From::value_type> converter; return converter.to_bytes(input); } -inline std::string Wstring2String(const std::wstring& input) { +WINDEVICE_API inline std::string Wstring2String(const std::wstring& input) { return Convert(input); } -inline std::string Wchar2String(const WCHAR* input) { +WINDEVICE_API inline std::string Wchar2String(const WCHAR* input) { std::wstring_convert> converter; return converter.to_bytes(input); } diff --git a/WinDevice/Utils/SysInfoUtil.h b/WinDevice/Utils/SysInfoUtil.h index e218d78..c17f497 100644 --- a/WinDevice/Utils/SysInfoUtil.h +++ b/WinDevice/Utils/SysInfoUtil.h @@ -1,9 +1,9 @@ #pragma once - +#include "Export.h" #pragma comment(lib, "IPHLPAPI.lib") #pragma comment(lib, "wbemuuid.lib") -class SysInfoUtil +class WINDEVICE_API SysInfoUtil { public: void GetMacByGetAdaptersInfo(char* outMAC) const; diff --git a/WinDevice/Utils/TimeUtil.cpp b/WinDevice/Utils/TimeUtil.cpp index e4bfd5f..cba5984 100644 --- a/WinDevice/Utils/TimeUtil.cpp +++ b/WinDevice/Utils/TimeUtil.cpp @@ -1,7 +1,6 @@ #include "TimeUtil.h" #include "spdlog/spdlog.h" - template void TimeUtil::CalExecuteTime(Func func) { diff --git a/WinDevice/Utils/TimeUtil.h b/WinDevice/Utils/TimeUtil.h index 92f94d5..7dfab97 100644 --- a/WinDevice/Utils/TimeUtil.h +++ b/WinDevice/Utils/TimeUtil.h @@ -1,7 +1,8 @@ #pragma once +#include "Export.h" template -class TimeUtil +class WINDEVICE_API TimeUtil { public: static void CalExecuteTime(Func func); diff --git a/WinDevice/Video/ScreenManager.h b/WinDevice/Video/ScreenManager.h index d50e25f..818ffa5 100644 --- a/WinDevice/Video/ScreenManager.h +++ b/WinDevice/Video/ScreenManager.h @@ -1,10 +1,11 @@ #pragma once +#include "stdafx.h" #include #include #include -class ScreenManager +class WINDEVICE_API ScreenManager { public: ScreenManager(); diff --git a/WinDevice/WinDevice.cpp b/WinDevice/WinDevice.cpp index 834ea0b..a245ebc 100644 --- a/WinDevice/WinDevice.cpp +++ b/WinDevice/WinDevice.cpp @@ -1,5 +1,6 @@ // WinDevice.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // +#ifdef _DEBUG #include #include #include @@ -28,14 +29,4 @@ int main() getchar(); return 0; } - -// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单 -// 调试程序: F5 或调试 >“开始调试”菜单 - -// 入门使用技巧: -// 1. 使用解决方案资源管理器窗口添加/管理文件 -// 2. 使用团队资源管理器窗口连接到源代码管理 -// 3. 使用输出窗口查看生成输出和其他消息 -// 4. 使用错误列表窗口查看错误 -// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目 -// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件 +#endif \ No newline at end of file diff --git a/WinDevice/WinDevice.def b/WinDevice/WinDevice.def index 396c1b9..8e1d657 100644 --- a/WinDevice/WinDevice.def +++ b/WinDevice/WinDevice.def @@ -1 +1 @@ -LIBRARY +LIBRARY WinDevice diff --git a/WinDevice/WinDevice.vcxproj b/WinDevice/WinDevice.vcxproj index ca430cc..1ba1a73 100644 --- a/WinDevice/WinDevice.vcxproj +++ b/WinDevice/WinDevice.vcxproj @@ -33,7 +33,7 @@ Unicode - Application + DynamicLibrary false v142 true @@ -46,7 +46,7 @@ Unicode - Application + DynamicLibrary false v142 true @@ -109,7 +109,7 @@ true true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + WINDEVICE_EXPORTS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true $(ProjectDir)include\third_lib\;. @@ -143,7 +143,7 @@ true true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + WINDEVICE_EXPORTS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true $(ProjectDir)include\third_lib\;. @@ -171,6 +171,7 @@ + diff --git a/WinDevice/stdafx.h b/WinDevice/stdafx.h index d98893e..00dd9d3 100644 --- a/WinDevice/stdafx.h +++ b/WinDevice/stdafx.h @@ -1,5 +1,5 @@ - -#pragma once +#pragma once +#include "Export.h" #include #include @@ -24,4 +24,3 @@ #include "sysinfoapi.h" -