瀏覽代碼

Merge branch 'msvc_support' of public/ls-standard-library into development

Lynar Studios - Public Repositories 2 年之前
父節點
當前提交
94f557467a
共有 58 個文件被更改,包括 205 次插入113 次删除
  1. 19 19
      CMakeLists.txt
  2. 3 2
      include/ls_std/boxing/Boolean.hpp
  3. 3 2
      include/ls_std/boxing/Double.hpp
  4. 3 2
      include/ls_std/boxing/Float.hpp
  5. 3 2
      include/ls_std/boxing/Integer.hpp
  6. 3 2
      include/ls_std/boxing/Long.hpp
  7. 3 2
      include/ls_std/boxing/String.hpp
  8. 3 2
      include/ls_std/core/Class.hpp
  9. 3 2
      include/ls_std/core/Version.hpp
  10. 1 1
      include/ls_std/core/exception/EventNotHandledException.hpp
  11. 1 1
      include/ls_std/core/exception/EventNotSubscribedException.hpp
  12. 1 1
      include/ls_std/core/exception/FileNotFoundException.hpp
  13. 1 1
      include/ls_std/core/exception/FileOperationException.hpp
  14. 1 1
      include/ls_std/core/exception/IllegalArgumentException.hpp
  15. 1 1
      include/ls_std/core/exception/IllegalArithmeticOperationException.hpp
  16. 1 1
      include/ls_std/core/exception/IncompleteJsonException.hpp
  17. 1 1
      include/ls_std/core/exception/NullPointerException.hpp
  18. 3 2
      include/ls_std/encoding/Base64.hpp
  19. 3 2
      include/ls_std/event/Event.hpp
  20. 3 2
      include/ls_std/event/EventHandler.hpp
  21. 3 2
      include/ls_std/event/EventManager.hpp
  22. 3 2
      include/ls_std/event/Narrator.hpp
  23. 3 2
      include/ls_std/event/serialization/SerializableJsonEvent.hpp
  24. 3 2
      include/ls_std/io/File.hpp
  25. 3 2
      include/ls_std/io/FileOutputStream.hpp
  26. 3 2
      include/ls_std/io/FilePathSeparator.hpp
  27. 1 1
      include/ls_std/io/FilePathSeparatorMatch.hpp
  28. 3 2
      include/ls_std/io/FileReader.hpp
  29. 3 2
      include/ls_std/io/FileWriter.hpp
  30. 1 1
      include/ls_std/io/NewLine.hpp
  31. 3 2
      include/ls_std/io/StandardOutputWriter.hpp
  32. 3 2
      include/ls_std/io/StorableFile.hpp
  33. 3 2
      include/ls_std/io/kv/KvDocument.hpp
  34. 3 2
      include/ls_std/io/kv/KvFileReader.hpp
  35. 3 2
      include/ls_std/io/kv/KvPair.hpp
  36. 1 1
      include/ls_std/io/kv/KvParseParameter.hpp
  37. 3 2
      include/ls_std/io/kv/KvParser.hpp
  38. 3 2
      include/ls_std/io/logging/LogLevel.hpp
  39. 1 1
      include/ls_std/io/logging/LogLevelValue.hpp
  40. 3 2
      include/ls_std/io/logging/Logger.hpp
  41. 3 2
      include/ls_std/io/xml/XmlAttribute.hpp
  42. 3 2
      include/ls_std/io/xml/XmlDeclaration.hpp
  43. 3 2
      include/ls_std/io/xml/XmlDocument.hpp
  44. 3 2
      include/ls_std/io/xml/XmlNode.hpp
  45. 1 1
      include/ls_std/io/xml/XmlParseMode.hpp
  46. 1 1
      include/ls_std/io/xml/XmlParseParameter.hpp
  47. 3 2
      include/ls_std/io/xml/XmlParser.hpp
  48. 3 2
      include/ls_std/io/xml/XmlReader.hpp
  49. 3 2
      include/ls_std/logic/State.hpp
  50. 3 2
      include/ls_std/logic/StateConnection.hpp
  51. 3 2
      include/ls_std/logic/StateMachine.hpp
  52. 3 2
      include/ls_std/logic/serialization/SerializableJsonState.hpp
  53. 3 2
      include/ls_std/logic/serialization/SerializableJsonStateConnection.hpp
  54. 3 2
      include/ls_std/logic/serialization/SerializableJsonStateMachine.hpp
  55. 20 0
      include/ls_std/os/dynamic_goal.hpp
  56. 15 0
      include/ls_std/os/unix/unix_so_definitions.hpp
  57. 17 0
      include/ls_std/os/windows/msvc_dll_definitions.hpp
  58. 3 2
      include/ls_std/time/Date.hpp

+ 19 - 19
CMakeLists.txt

@@ -89,7 +89,7 @@ if(${LS_STD_BUILD_WITH_SUPPORTED_COMPILER})
 
     # define which compilers are supported for shared or module goal
 
-    if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC AND ${LS_STD_BUILD_SHARED} OR ${LS_STD_BUILD_MODULE})
+    if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC AND ${LS_STD_BUILD_MODULE})
         message("${PROJECT_NAME}: [Error] building \"${GOAL}\" with ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} is not supported... terminated!")
         return()
     endif ()
@@ -97,7 +97,7 @@ endif()
 
 # define which goals can run tests
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_SHARED} OR ${LS_STD_BUILD_MODULE})
+if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_MODULE})
     message("${PROJECT_NAME}: [Error] building \"${GOAL}\" with tests is not supported... terminated!")
     return()
 endif ()
@@ -527,16 +527,16 @@ endif ()
 ####################################################################################################################
 ####################################################################################################################
 ####################################################################################################################
-# Test Suite: Static Linking
+# Test Suite: Linking
 ####################################################################################################################
 ####################################################################################################################
 ####################################################################################################################
 
 ##########################################################
-# Static Linking (boxing)
+# Linking (boxing)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${MODULE_NAME_BOXING}: Linking libraries for test application...")
     target_link_libraries(${MODULE_NAME_BOXING}_test
             gtest
@@ -547,10 +547,10 @@ if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
 endif ()
 
 ##########################################################
-# Static Linking (core)
+# Linking (core)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${MODULE_NAME_CORE}: Linking libraries for test application...")
     target_link_libraries(${MODULE_NAME_CORE}_test
             gtest
@@ -560,10 +560,10 @@ if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
 endif ()
 
 ##########################################################
-# Static Linking (encoding)
+# Linking (encoding)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${MODULE_NAME_ENCODING}: Linking libraries for test application...")
     target_link_libraries(${MODULE_NAME_ENCODING}_test
             gtest
@@ -574,10 +574,10 @@ if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
 endif ()
 
 ##########################################################
-# Static Linking (event)
+# Linking (event)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${MODULE_NAME_EVENT}: Linking libraries for test application...")
     target_link_libraries(${MODULE_NAME_EVENT}_test
             gtest
@@ -588,10 +588,10 @@ if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
 endif ()
 
 ##########################################################
-# Static Linking (io)
+# Linking (io)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${MODULE_NAME_IO}: Linking libraries for test application...")
     target_link_libraries(${MODULE_NAME_IO}_test
             gtest
@@ -602,10 +602,10 @@ if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
 endif ()
 
 ##########################################################
-# Static Linking (logic)
+# Linking (logic)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${MODULE_NAME_LOGIC}: Linking libraries for test application...")
     target_link_libraries(${MODULE_NAME_LOGIC}_test
             gtest
@@ -616,10 +616,10 @@ if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
 endif ()
 
 ##########################################################
-# Static Linking (time)
+# Linking (time)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${MODULE_NAME_TIME}: Linking libraries for test application...")
     target_link_libraries(${MODULE_NAME_TIME}_test
             gtest
@@ -630,10 +630,10 @@ if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
 endif ()
 
 ##########################################################
-# Static Linking (all)
+# Linking (all)
 ##########################################################
 
-if (${LS_STD_BUILD_WITH_TESTS} AND ${LS_STD_BUILD_STATIC})
+if (${LS_STD_BUILD_WITH_TESTS})
     message("${PROJECT_NAME}: Linking libraries for test application...")
     target_link_libraries(${PROJECT_NAME}_test
             gtest

+ 3 - 2
include/ls_std/boxing/Boolean.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-09
- * Changed:         2022-05-21
+ * Changed:         2022-06-29
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <sstream>
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/IBoxing.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace boxing
     {
-      class Boolean : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+      class DYNAMIC_GOAL Boolean : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
       {
         public:
 

+ 3 - 2
include/ls_std/boxing/Double.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-14
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -13,6 +13,7 @@
 #include <memory>
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/IBoxing.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace boxing
     {
-      class Double : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+      class DYNAMIC_GOAL Double : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
       {
         public:
 

+ 3 - 2
include/ls_std/boxing/Float.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-14
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -13,6 +13,7 @@
 #include <memory>
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/IBoxing.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace boxing
     {
-      class Float : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+      class DYNAMIC_GOAL Float : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
       {
         public:
 

+ 3 - 2
include/ls_std/boxing/Integer.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -13,6 +13,7 @@
 #include <memory>
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/IBoxing.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace boxing
     {
-      class Integer : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+      class DYNAMIC_GOAL Integer : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
       {
         public:
 

+ 3 - 2
include/ls_std/boxing/Long.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/IBoxing.hpp>
 #include <ls_std/core/types/Types.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace boxing
     {
-      class Long : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+      class DYNAMIC_GOAL Long : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
       {
         public:
 

+ 3 - 2
include/ls_std/boxing/String.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-14
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -16,6 +16,7 @@
 #include <string>
 #include <memory>
 #include <vector>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -23,7 +24,7 @@ namespace ls
   {
     namespace boxing
     {
-      class String : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
+      class DYNAMIC_GOAL String : public ls::std::core::Class, public ls::std::core::interface_type::IBoxing
       {
         public:
 

+ 3 - 2
include/ls_std/core/Class.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2022-05-09
+ * Changed:         2022-06-29
  *
  * */
 
@@ -11,6 +11,7 @@
 #define LS_STD_CLASS_HPP
 
 #include <string>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -18,7 +19,7 @@ namespace ls
   {
     namespace core
     {
-      class Class
+      class DYNAMIC_GOAL Class
       {
         public:
 

+ 3 - 2
include/ls_std/core/Version.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-27
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -13,6 +13,7 @@
 #include "Class.hpp"
 #include <ls_std/core/interface/ISerializable.hpp>
 #include <ls_std/core/types/Types.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace core
     {
-      class Version : public ls::std::core::interface_type::ISerializable
+      class DYNAMIC_GOAL Version : public ls::std::core::interface_type::ISerializable
       {
         public:
 

+ 1 - 1
include/ls_std/core/exception/EventNotHandledException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-05-27
- * Changed:         2022-05-09
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/core/exception/EventNotSubscribedException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-05-27
- * Changed:         2022-05-09
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/core/exception/FileNotFoundException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2022-05-16
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/core/exception/FileOperationException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2022-05-09
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/core/exception/IllegalArgumentException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-09
- * Changed:         2022-05-09
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/core/exception/IllegalArithmeticOperationException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-07
- * Changed:         2022-05-09
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/core/exception/IncompleteJsonException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2021-04-30
- * Changed:         2022-05-09
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/core/exception/NullPointerException.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-06
- * Changed:         2022-05-09
+ * Changed:         2022-07-01
  *
  * */
 

+ 3 - 2
include/ls_std/encoding/Base64.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-01-03
- * Changed:         2022-05-20
+ * Changed:         2022-06-29
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <bitset>
 #include <vector>
 #include <unordered_map>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace encoding
     {
-      class Base64 : public ls::std::core::interface_type::IEncoding
+      class DYNAMIC_GOAL Base64 : public ls::std::core::interface_type::IEncoding
       {
         public:
 

+ 3 - 2
include/ls_std/event/Event.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-26
- * Changed:         2022-05-12
+ * Changed:         2022-06-29
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <ls_std/core/interface/ISerializable.hpp>
 #include <memory>
 #include <ls_std/core/types/EventTypes.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace event
     {
-      class Event : public ls::std::core::Class
+      class DYNAMIC_GOAL Event : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/event/EventHandler.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-27
- * Changed:         2022-05-12
+ * Changed:         2022-06-29
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <list>
 #include <memory>
 #include <ls_std/core/interface/IListener.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 #include "Event.hpp"
 #include "Narrator.hpp"
 
@@ -23,7 +24,7 @@ namespace ls
   {
     namespace event
     {
-      class EventHandler : public ls::std::event::Narrator
+      class DYNAMIC_GOAL EventHandler : public ls::std::event::Narrator
       {
         public:
 

+ 3 - 2
include/ls_std/event/EventManager.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-27
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -16,6 +16,7 @@
 #include <memory>
 #include "EventHandler.hpp"
 #include <ls_std/core/interface/IEventSubscriber.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -23,7 +24,7 @@ namespace ls
   {
     namespace event
     {
-      class EventManager : public ls::std::core::Class, public ls::std::core::interface_type::IEventSubscriber
+      class DYNAMIC_GOAL EventManager : public ls::std::core::Class, public ls::std::core::interface_type::IEventSubscriber
       {
         public:
 

+ 3 - 2
include/ls_std/event/Narrator.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-14
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -12,6 +12,7 @@
 
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/IListener.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 #include <list>
 #include <memory>
 
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace event
     {
-      class Narrator : public ls::std::core::Class
+      class DYNAMIC_GOAL Narrator : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/event/serialization/SerializableJsonEvent.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-12-07
- * Changed:         2022-05-19
+ * Changed:         2022-06-29
  *
  * */
 
@@ -15,6 +15,7 @@
 #include <ls_std/event/Event.hpp>
 #include <memory>
 #include <ls_std/lib/nlohmann_json/include/nlohmann/json.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -22,7 +23,7 @@ namespace ls
   {
     namespace event
     {
-      class SerializableJsonEvent : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
+      class DYNAMIC_GOAL SerializableJsonEvent : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
       {
         public:
 

+ 3 - 2
include/ls_std/io/File.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 
@@ -16,6 +16,7 @@
 #include <list>
 #include <ctime>
 #include <regex>
+#include <ls_std/os/dynamic_goal.hpp>
 
 #if defined(unix) || defined(__APPLE__)
 
@@ -35,7 +36,7 @@ namespace ls
   {
     namespace io
     {
-      class File : public ls::std::core::Class
+      class DYNAMIC_GOAL File : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/FileOutputStream.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -14,6 +14,7 @@
 #include "File.hpp"
 #include <ls_std/core/interface/IWriter.hpp>
 #include <fstream>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace io
     {
-      class FileOutputStream : public ls::std::core::Class, public ls::std::core::interface_type::IWriter
+      class DYNAMIC_GOAL FileOutputStream : public ls::std::core::Class, public ls::std::core::interface_type::IWriter
       {
         public:
 

+ 3 - 2
include/ls_std/io/FilePathSeparator.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 
@@ -11,6 +11,7 @@
 #define FILE_PATH_SEPARATOR_HPP
 
 #include <string>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -18,7 +19,7 @@ namespace ls
   {
     namespace io
     {
-      class FilePathSeparator
+      class DYNAMIC_GOAL FilePathSeparator
       {
         public:
 

+ 1 - 1
include/ls_std/io/FilePathSeparatorMatch.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-15
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 

+ 3 - 2
include/ls_std/io/FileReader.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -13,6 +13,7 @@
 #include <ls_std/core/Class.hpp>
 #include "File.hpp"
 #include <ls_std/core/interface/IReader.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace io
     {
-      class FileReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
+      class DYNAMIC_GOAL FileReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
       {
         public:
 

+ 3 - 2
include/ls_std/io/FileWriter.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-17
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -13,6 +13,7 @@
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/IWriter.hpp>
 #include "File.hpp"
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace io
     {
-      class FileWriter : public ls::std::core::Class, public ls::std::core::interface_type::IWriter
+      class DYNAMIC_GOAL FileWriter : public ls::std::core::Class, public ls::std::core::interface_type::IWriter
       {
         public:
 

+ 1 - 1
include/ls_std/io/NewLine.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-18
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 

+ 3 - 2
include/ls_std/io/StandardOutputWriter.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-06
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -11,6 +11,7 @@
 #define LS_STD_STANDARD_OUTPUT_WRITER_HPP
 
 #include <ls_std/core/interface/IWriter.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -18,7 +19,7 @@ namespace ls
   {
     namespace io
     {
-      class StandardOutputWriter : public ls::std::core::interface_type::IWriter
+      class DYNAMIC_GOAL StandardOutputWriter : public ls::std::core::interface_type::IWriter
       {
         public:
 

+ 3 - 2
include/ls_std/io/StorableFile.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-19
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <memory>
 #include <ls_std/core/interface/IStorable.hpp>
 #include "File.hpp"
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace io
     {
-      class StorableFile : public ls::std::core::interface_type::IStorable
+      class DYNAMIC_GOAL StorableFile : public ls::std::core::interface_type::IStorable
       {
         public:
 

+ 3 - 2
include/ls_std/io/kv/KvDocument.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-12-25
- * Changed:         2022-05-12
+ * Changed:         2022-07-01
  *
  * */
 
@@ -14,6 +14,7 @@
 #include "KvPair.hpp"
 #include <ls_std/core/types/KvTypes.hpp>
 #include <map>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace io
     {
-      class KvDocument : public ls::std::core::Class
+      class DYNAMIC_GOAL KvDocument : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/kv/KvFileReader.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-12-25
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -15,6 +15,7 @@
 #include <ls_std/io/kv/KvDocument.hpp>
 #include <ls_std/io/File.hpp>
 #include <memory>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -22,7 +23,7 @@ namespace ls
   {
     namespace io
     {
-      class KvFileReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
+      class DYNAMIC_GOAL KvFileReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
       {
         public:
 

+ 3 - 2
include/ls_std/io/kv/KvPair.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-12-25
- * Changed:         2022-05-12
+ * Changed:         2022-07-01
  *
  * */
 
@@ -12,6 +12,7 @@
 
 #include <ls_std/core/Class.hpp>
 #include "ls_std/core/types/KvTypes.hpp"
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -19,7 +20,7 @@ namespace ls
   {
     namespace io
     {
-      class KvPair : public ls::std::core::Class
+      class DYNAMIC_GOAL KvPair : public ls::std::core::Class
       {
         public:
 

+ 1 - 1
include/ls_std/io/kv/KvParseParameter.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-12-25
- * Changed:         2022-05-13
+ * Changed:         2022-07-01
  *
  * */
 

+ 3 - 2
include/ls_std/io/kv/KvParser.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-12-25
- * Changed:         2022-05-13
+ * Changed:         2022-07-01
  *
  * */
 
@@ -15,6 +15,7 @@
 #include "KvDocument.hpp"
 #include "KvParseParameter.hpp"
 #include <memory>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -22,7 +23,7 @@ namespace ls
   {
     namespace io
     {
-      class KvParser : public ls::std::core::Class
+      class DYNAMIC_GOAL KvParser : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/logging/LogLevel.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 
@@ -13,6 +13,7 @@
 #include <unordered_map>
 #include <ls_std/core/Class.hpp>
 #include "LogLevelValue.hpp"
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace io
     {
-      class LogLevel : public ls::std::core::Class
+      class DYNAMIC_GOAL LogLevel : public ls::std::core::Class
       {
         public:
 

+ 1 - 1
include/ls_std/io/logging/LogLevelValue.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 

+ 3 - 2
include/ls_std/io/logging/Logger.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-20
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -16,6 +16,7 @@
 #include <ls_std/io/File.hpp>
 #include <ls_std/io/FileOutputStream.hpp>
 #include <string>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -23,7 +24,7 @@ namespace ls
   {
     namespace io
     {
-      class Logger : public ls::std::core::Class
+      class DYNAMIC_GOAL Logger : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/xml/XmlAttribute.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-23
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 
@@ -12,6 +12,7 @@
 
 #include <ls_std/core/Class.hpp>
 #include <string>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -19,7 +20,7 @@ namespace ls
   {
     namespace io
     {
-      class XmlAttribute : public ls::std::core::Class
+      class DYNAMIC_GOAL XmlAttribute : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/xml/XmlDeclaration.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-27
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 
@@ -12,6 +12,7 @@
 
 #include <ls_std/core/Class.hpp>
 #include "XmlAttribute.hpp"
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -19,7 +20,7 @@ namespace ls
   {
     namespace io
     {
-      class XmlDeclaration : public ls::std::core::Class
+      class DYNAMIC_GOAL XmlDeclaration : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/xml/XmlDocument.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-27
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <ls_std/core/Class.hpp>
 #include "XmlNode.hpp"
 #include "XmlDeclaration.hpp"
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace io
     {
-      class XmlDocument : public ls::std::core::Class
+      class DYNAMIC_GOAL XmlDocument : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/xml/XmlNode.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-24
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 
@@ -14,6 +14,7 @@
 #include <memory>
 #include <ls_std/core/Class.hpp>
 #include "XmlAttribute.hpp"
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -21,7 +22,7 @@ namespace ls
   {
     namespace io
     {
-      class XmlNode : public ls::std::core::Class
+      class DYNAMIC_GOAL XmlNode : public ls::std::core::Class
       {
         public:
 

+ 1 - 1
include/ls_std/io/xml/XmlParseMode.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-10-13
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 

+ 1 - 1
include/ls_std/io/xml/XmlParseParameter.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-10-17
- * Changed:         2022-05-11
+ * Changed:         2022-07-01
  *
  * */
 

+ 3 - 2
include/ls_std/io/xml/XmlParser.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-11-25
- * Changed:         2022-05-13
+ * Changed:         2022-07-01
  *
  * */
 
@@ -16,6 +16,7 @@
 #include "XmlParseMode.hpp"
 #include "XmlParseParameter.hpp"
 #include <list>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -23,7 +24,7 @@ namespace ls
   {
     namespace io
     {
-      class XmlParser : public ls::std::core::Class
+      class DYNAMIC_GOAL XmlParser : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/io/xml/XmlReader.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-10-08
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -17,6 +17,7 @@
 #include "XmlParseMode.hpp"
 #include "XmlParseParameter.hpp"
 #include <list>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -24,7 +25,7 @@ namespace ls
   {
     namespace io
     {
-      class XmlReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
+      class DYNAMIC_GOAL XmlReader : public ls::std::core::Class, public ls::std::core::interface_type::IReader
       {
         public:
 

+ 3 - 2
include/ls_std/logic/State.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-05
- * Changed:         2022-05-12
+ * Changed:         2022-07-01
  *
  * */
 
@@ -16,6 +16,7 @@
 #include <ls_std/core/types/StateMachineTypes.hpp>
 #include "StateConnection.hpp"
 #include <ls_std/core/interface/ISerializable.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -23,7 +24,7 @@ namespace ls
   {
     namespace logic
     {
-      class State : public ls::std::core::Class
+      class DYNAMIC_GOAL State : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/logic/StateConnection.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-10
- * Changed:         2022-05-12
+ * Changed:         2022-07-01
  *
  * */
 
@@ -13,6 +13,7 @@
 #include <memory>
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/types/StateMachineTypes.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -20,7 +21,7 @@ namespace ls
   {
     namespace logic
     {
-      class StateConnection : public ls::std::core::Class
+      class DYNAMIC_GOAL StateConnection : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/logic/StateMachine.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-05
- * Changed:         2022-05-12
+ * Changed:         2022-07-01
  *
  * */
 
@@ -17,6 +17,7 @@
 #include <ls_std/core/Class.hpp>
 #include "State.hpp"
 #include <ls_std/core/types/StateMachineTypes.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -24,7 +25,7 @@ namespace ls
   {
     namespace logic
     {
-      class StateMachine : public ls::std::core::Class
+      class DYNAMIC_GOAL StateMachine : public ls::std::core::Class
       {
         public:
 

+ 3 - 2
include/ls_std/logic/serialization/SerializableJsonState.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-15
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -15,6 +15,7 @@
 #include <ls_std/logic/State.hpp>
 #include <ls_std/core/interface/ISerializable.hpp>
 #include <ls_std/core/Class.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -22,7 +23,7 @@ namespace ls
   {
     namespace logic
     {
-      class SerializableJsonState : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
+      class DYNAMIC_GOAL SerializableJsonState : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
       {
         public:
 

+ 3 - 2
include/ls_std/logic/serialization/SerializableJsonStateConnection.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-14
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -15,6 +15,7 @@
 #include <ls_std/core/Class.hpp>
 #include <ls_std/core/interface/ISerializable.hpp>
 #include <ls_std/logic/StateConnection.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -22,7 +23,7 @@ namespace ls
   {
     namespace logic
     {
-      class SerializableJsonStateConnection : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
+      class DYNAMIC_GOAL SerializableJsonStateConnection : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
       {
         public:
 

+ 3 - 2
include/ls_std/logic/serialization/SerializableJsonStateMachine.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-09-17
- * Changed:         2022-05-19
+ * Changed:         2022-07-01
  *
  * */
 
@@ -15,6 +15,7 @@
 #include <ls_std/logic/StateMachine.hpp>
 #include <memory>
 #include <ls_std/lib/nlohmann_json/include/nlohmann/json.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 
 namespace ls
 {
@@ -22,7 +23,7 @@ namespace ls
   {
     namespace logic
     {
-      class SerializableJsonStateMachine : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
+      class DYNAMIC_GOAL SerializableJsonStateMachine : public ls::std::core::Class, public ls::std::core::interface_type::ISerializable
       {
         public:
 

+ 20 - 0
include/ls_std/os/dynamic_goal.hpp

@@ -0,0 +1,20 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2022-06-29
+ * Changed:         2022-06-29
+ *
+ * */
+
+#ifndef LS_STD_DYNAMIC_GOAL_HPP
+#define LS_STD_DYNAMIC_GOAL_HPP
+
+#ifdef _WIN32
+#include <ls_std/os/windows/msvc_dll_definitions.hpp>
+#endif
+#if defined(unix) || defined(__APPLE__)
+#include <ls_std/os/unix/unix_so_definitions.hpp>
+#endif
+
+#endif

+ 15 - 0
include/ls_std/os/unix/unix_so_definitions.hpp

@@ -0,0 +1,15 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2022-06-29
+ * Changed:         2022-06-29
+ *
+ * */
+
+#ifndef LS_STD_UNIX_SO_DEFINITIONS_HPP
+#define LS_STD_UNIX_SO_DEFINITIONS_HPP
+
+#define DYNAMIC_GOAL
+
+#endif

+ 17 - 0
include/ls_std/os/windows/msvc_dll_definitions.hpp

@@ -0,0 +1,17 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2022-06-26
+ * Changed:         2022-06-29
+ *
+ * */
+
+#ifndef LS_STD_MSVC_DLL_DEFINITIONS_HPP
+#define LS_STD_MSVC_DLL_DEFINITIONS_HPP
+
+#define DLL_EXPORT        __declspec(dllexport)
+#define DLL_IMPORT        __declspec(dllimport)
+#define DYNAMIC_GOAL      DLL_EXPORT
+
+#endif

+ 3 - 2
include/ls_std/time/Date.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2020-08-14
- * Changed:         2022-05-09
+ * Changed:         2022-06-29
  *
  * */
 
@@ -11,6 +11,7 @@
 #define LS_STD_DATE_HPP
 
 #include <ls_std/core/Class.hpp>
+#include <ls_std/os/dynamic_goal.hpp>
 #include <ctime>
 
 namespace ls
@@ -19,7 +20,7 @@ namespace ls
   {
     namespace time
     {
-      class Date : public ls::std::core::Class
+      class DYNAMIC_GOAL Date : public ls::std::core::Class
       {
         public: