From 74f3f35d62f6403e3fd2f9bc1ddc2fd4d8605bf7 Mon Sep 17 00:00:00 2001 From: HeZongLun <13425468+hezonglun@user.noreply.gitee.com> Date: Mon, 25 Aug 2025 11:31:25 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E4=B8=BA=E5=8A=A8=E6=80=81=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E5=BA=93=E7=9A=84=E6=9E=84=E5=BB=BA=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E7=AC=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NahidaProject-Console/CMakeLists.txt | 5 ++++- NahidaProject-Console/Sources/ChooseDialog.h | 18 +++++++++-------- .../Sources/CommandLineParser.h | 2 +- NahidaProject-Console/Sources/TablePrint.h | 2 +- NahidaProject-Console/Sources/TerminalColor.h | 2 +- NahidaProject-Database/CMakeLists.txt | 4 +++- NahidaProject-Database/Sources/ODBC.h | 6 ++---- NahidaProject-Generic/CMakeLists.txt | 4 +++- NahidaProject-Generic/Sources/BloomFilter.h | 2 +- NahidaProject-Generic/Sources/HTTPRequest.h | 10 +++++----- NahidaProject-Generic/Sources/Logger.h | 2 +- NahidaProject-Generic/Sources/NahidaProject.h | 2 +- NahidaProject-Generic/Sources/SortModule.h | 2 +- NahidaProject-Mathematics/CMakeLists.txt | 4 +++- .../Sources/BigInteger.h | 2 +- .../Sources/RandomGenerator.h | 4 ++-- .../Sources/Statistics.h | 2 +- NahidaProject-Mathematics/Sources/Vector.h | 2 +- NahidaProject-Other/CMakeLists.txt | 4 +++- NahidaProject-Other/Sources/CowSay.h | 2 +- NahidaProject-Serialization/CMakeLists.txt | 4 +++- NahidaProject-Serialization/Sources/CSV.h | 10 +++++----- .../Sources/INIReader.h | 2 +- .../Sources/INIWriter.h | 2 +- NahidaProject-Serialization/Sources/JSON.h | 2 +- .../Sources/JSONParser.h | 2 +- .../Sources/XMLReader.h | 4 ++-- .../Sources/XMLWriter.h | 4 ++-- NahidaProject-Serialization/Sources/YAML.h | 10 +++++----- NahidaProject-System/CMakeLists.txt | 4 +++- .../Sources/DynamicLinkedLibraryInjector.h | 2 +- .../Sources/DynamicLinkedLibraryLoader.h | 2 +- NahidaProject-System/Sources/RegisterTable.h | 2 +- NahidaProject-System/Sources/SerialPort.h | 2 +- NahidaProject-System/Sources/WindowsService.h | 2 +- NahidaProject-ThirdParty/CMakeLists.txt | 5 ++++- NahidaProject-Thread/CMakeLists.txt | 4 +++- NahidaProject-Thread/Sources/EventBus.h | 18 +++++++++++------ NahidaProject-Thread/Sources/MemoryPool.h | 2 +- NahidaProject-Thread/Sources/SignalAndSlot.h | 12 +++++------ NahidaProject-Thread/Sources/TaskTimer.h | 2 +- NahidaProject-Thread/Sources/ThreadPool.h | 8 ++++---- NahidaProject-Thread/Sources/TimingWheel.h | 2 +- NahidaProject-UnitTest/CMakeLists.txt | 4 +++- .../Sources/NahidaBenchmarkTest.h | 2 +- .../Sources/NahidaMockTest.h | 20 +++++++++---------- 46 files changed, 121 insertions(+), 93 deletions(-) diff --git a/NahidaProject-Console/CMakeLists.txt b/NahidaProject-Console/CMakeLists.txt index 56caa00..fee75a3 100644 --- a/NahidaProject-Console/CMakeLists.txt +++ b/NahidaProject-Console/CMakeLists.txt @@ -9,11 +9,14 @@ FILE(GLOB ALL_SOURCECODE ${CMAKE_SOURCE_DIR}/NahidaProject-${MODULEID}/Sources/* FILE(GLOB ALL_HEADERFILE ${CMAKE_SOURCE_DIR}/NahidaProject-${MODULEID}/Sources/*.h) FILE(GLOB ALL_SOURCEANDTESTCODE ${CMAKE_SOURCE_DIR}/NahidaProject-${MODULEID}/Sources/*.cpp ${CMAKE_SOURCE_DIR}/NahidaProject-${MODULEID}/Sources/*.h ${CMAKE_SOURCE_DIR}/NahidaProject-${MODULEID}/Tests/*.cpp) ADD_EXECUTABLE(LibNahidaProject-${MODULEID}Tests ${ALL_SOURCEANDTESTCODE} ${TESTFILE}) -ADD_LIBRARY(LibNahidaProject-${MODULEID} STATIC ${ALL_SOURCECODE}) +ADD_LIBRARY(LibNahidaProject-${MODULEID}-IMPLEMENT STATIC ${ALL_SOURCECODE}) +ADD_LIBRARY(LibNahidaProject-${MODULEID} SHARED ${ALL_SOURCECODE}) IF(CMAKE_VERSION VERSION_GREATER 3.12) SET_PROPERTY(TARGET LibNahidaProject-${MODULEID}Tests PROPERTY CXX_STANDARD 20) + SET_PROPERTY(TARGET LibNahidaProject-${MODULEID}-IMPLEMENT PROPERTY CXX_STANDARD 20) SET_PROPERTY(TARGET LibNahidaProject-${MODULEID} PROPERTY CXX_STANDARD 20) + ENDIF() MESSAGE(STATUS "Build module [${MODULEID}] done.") \ No newline at end of file diff --git a/NahidaProject-Console/Sources/ChooseDialog.h b/NahidaProject-Console/Sources/ChooseDialog.h index 8d60cd7..3496ff5 100644 --- a/NahidaProject-Console/Sources/ChooseDialog.h +++ b/NahidaProject-Console/Sources/ChooseDialog.h @@ -1,5 +1,4 @@ -#ifndef CHOOSEDIALOG_H -#define CHOOSEDIALOG_H +#pragma once #include #include @@ -28,11 +27,16 @@ const std::wstring NO_INSTRUCTION = L""; namespace NahidaProject { namespace ChooseDialog { - class Option { + class __declspec(dllexport) Option { public: BOOL IsSelected() const { return _selected; } + + Option& operator=(const NahidaProject::ChooseDialog::Option&) { + Option opt; + return opt; + } const std::wstring _displayName; const std::wstring _description; @@ -59,7 +63,7 @@ namespace NahidaProject { }; - struct MenuState { + struct __declspec(dllexport) MenuState { std::vector