diff --git a/BaseLib/Logging.h b/BaseLib/Logging.h
index 2364359fac112d1ae6b3e2e66488039a50d8f0f2..f2de07f271db5338befd4facb821b60315809c03 100644
--- a/BaseLib/Logging.h
+++ b/BaseLib/Logging.h
@@ -16,9 +16,11 @@
 #include <memory>
 #include <string>
 
+#include "baselib_export.h"
+
 namespace BaseLib
 {
-extern std::shared_ptr<spdlog::logger> console;
+extern BASELIB_EXPORT std::shared_ptr<spdlog::logger> console;
 void setConsoleLogLevel(std::string const& level_string);
 
 }  // namespace BaseLib
diff --git a/ChemistryLib/CMakeLists.txt b/ChemistryLib/CMakeLists.txt
index 05fe2429d3bd645202ac211e9a7adfbbe11a0286..1c0f7a880c48a8fed2e35316859fb095d2e12637 100644
--- a/ChemistryLib/CMakeLists.txt
+++ b/ChemistryLib/CMakeLists.txt
@@ -8,7 +8,7 @@ append_source_files(SOURCES Common)
 ogs_add_library(ChemistryLib ${SOURCES})
 
 target_link_libraries(
-    ChemistryLib PUBLIC Eigen3::Eigen iphreeqc PRIVATE BaseLib NumLib
+    ChemistryLib PUBLIC Eigen3::Eigen iphreeqc PRIVATE BaseLib MaterialLib NumLib
 )
 
 # See https://github.com/ufz/ogs/pull/2982#issuecomment-641086788
diff --git a/ProcessLib/CMakeLists.txt b/ProcessLib/CMakeLists.txt
index 97de8fc0a26216a66aaf8c0e6f178c5cb9c7352d..c0a875401516ee449aa08f39d71f9c299df4d836 100644
--- a/ProcessLib/CMakeLists.txt
+++ b/ProcessLib/CMakeLists.txt
@@ -14,7 +14,7 @@ append_source_files(SOURCES SurfaceFlux)
 append_source_files(SOURCES Output)
 append_source_files(SOURCES Utils)
 
-ogs_add_library(ProcessLib ${SOURCES})
+ogs_add_library(ProcessLib GENERATE_EXPORT_HEADER ${SOURCES})
 
 if(OGS_USE_PYTHON)
     add_subdirectory(BoundaryConditionAndSourceTerm/Python)
diff --git a/ProcessLib/DeactivatedSubdomain.h b/ProcessLib/DeactivatedSubdomain.h
index 686a0b68cfc549bbee800386a45e50e71146ba5e..7a6ac8338eae2b3923b88992745c62419698a8e0 100644
--- a/ProcessLib/DeactivatedSubdomain.h
+++ b/ProcessLib/DeactivatedSubdomain.h
@@ -20,6 +20,8 @@
 #include "MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.h"
 #include "MathLib/Point3d.h"
 
+#include "processlib_export.h"
+
 namespace MeshLib
 {
 class Mesh;
@@ -102,6 +104,6 @@ struct DeactivatedSubdomain
     /// the surface of the deactivated subdomain/excavation.
     ParameterLib::Parameter<double> const* const boundary_value_parameter;
 
-    static const std::string zero_parameter_name;
+    PROCESSLIB_EXPORT static const std::string zero_parameter_name;
 };
 }  // namespace ProcessLib