diff --git a/src/Mod/Measure/App/Measurement.h b/src/Mod/Measure/App/Measurement.h
index e9853a6aad..001758fc66 100644
--- a/src/Mod/Measure/App/Measurement.h
+++ b/src/Mod/Measure/App/Measurement.h
@@ -28,6 +28,7 @@
#include
#include
+#include
class TopoDS_Shape;
diff --git a/src/Mod/Measure/App/PreCompiled.h b/src/Mod/Measure/App/PreCompiled.h
index 85a32d7fea..5a8dd57ed5 100644
--- a/src/Mod/Measure/App/PreCompiled.h
+++ b/src/Mod/Measure/App/PreCompiled.h
@@ -26,17 +26,6 @@
#include
-// Exporting of App classes
-#ifdef FC_OS_WIN32
-# define MeasureExport __declspec(dllexport)
-# define PartExport __declspec(dllimport)
-# define MeshExport __declspec(dllimport)
-#else // for Linux
-# define MeasureExport
-# define PartExport
-# define MeshExport
-#endif
-
#ifdef FC_OS_WIN32
#define WIN32_LEAN_AND_MEAN
#ifndef NOMINMAX
diff --git a/src/Mod/Measure/MeasureGlobal.h b/src/Mod/Measure/MeasureGlobal.h
new file mode 100644
index 0000000000..3df4317b45
--- /dev/null
+++ b/src/Mod/Measure/MeasureGlobal.h
@@ -0,0 +1,38 @@
+/***************************************************************************
+ * Copyright (c) 2021 Werner Mayer *
+ * *
+ * This file is part of the FreeCAD CAx development system. *
+ * *
+ * This library is free software; you can redistribute it and/or *
+ * modify it under the terms of the GNU Library General Public *
+ * License as published by the Free Software Foundation; either *
+ * version 2 of the License, or (at your option) any later version. *
+ * *
+ * This library is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU Library General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Library General Public *
+ * License along with this library; see the file COPYING.LIB. If not, *
+ * write to the Free Software Foundation, Inc., 59 Temple Place, *
+ * Suite 330, Boston, MA 02111-1307, USA *
+ * *
+ ***************************************************************************/
+
+#include
+
+#ifndef MEASURE_GLOBAL_H
+#define MEASURE_GLOBAL_H
+
+
+// Measure
+#ifndef MeasureExport
+#ifdef Measure_EXPORTS
+# define MeasureExport FREECAD_DECL_EXPORT
+#else
+# define MeasureExport FREECAD_DECL_IMPORT
+#endif
+#endif
+
+#endif //MEASURE_GLOBAL_H
diff --git a/src/Mod/Points/App/PreCompiled.h b/src/Mod/Points/App/PreCompiled.h
index 0f089adbd6..ef8ca5ed07 100644
--- a/src/Mod/Points/App/PreCompiled.h
+++ b/src/Mod/Points/App/PreCompiled.h
@@ -26,13 +26,6 @@
#include
-// Exporting of App classes
-#ifdef FC_OS_WIN32
-# define PointsExport __declspec(dllexport)
-#else // for Linux
-# define PointsExport
-#endif
-
// here get the warnings of too long specifiers disabled (needed for VC6)
#ifdef _MSC_VER
# pragma warning( disable : 4181 )
diff --git a/src/Mod/Points/Gui/PreCompiled.h b/src/Mod/Points/Gui/PreCompiled.h
index bf356ce52e..8dbd2b8da7 100644
--- a/src/Mod/Points/Gui/PreCompiled.h
+++ b/src/Mod/Points/Gui/PreCompiled.h
@@ -26,15 +26,6 @@
#include
-// Importing of App classes
-#ifdef FC_OS_WIN32
-# define PointsExport __declspec(dllimport)
-# define PointsGuiExport __declspec(dllexport)
-#else // for Linux
-# define PointsExport
-# define PointsGuiExport
-#endif
-
#ifdef FC_OS_WIN32
# ifndef NOMINMAX
# define NOMINMAX
diff --git a/src/Mod/ReverseEngineering/App/ApproxSurface.h b/src/Mod/ReverseEngineering/App/ApproxSurface.h
index a3dd4e4592..eb7f764053 100644
--- a/src/Mod/ReverseEngineering/App/ApproxSurface.h
+++ b/src/Mod/ReverseEngineering/App/ApproxSurface.h
@@ -33,6 +33,7 @@
#include
#include
+#include
namespace Base {
class SequencerLauncher;
diff --git a/src/Mod/ReverseEngineering/App/PreCompiled.h b/src/Mod/ReverseEngineering/App/PreCompiled.h
index 101e5e8f22..69b62da8ce 100644
--- a/src/Mod/ReverseEngineering/App/PreCompiled.h
+++ b/src/Mod/ReverseEngineering/App/PreCompiled.h
@@ -26,19 +26,6 @@
#include
-// Exporting of App classes
-#ifdef FC_OS_WIN32
-# define ReenExport __declspec(dllexport)
-# define PartExport __declspec(dllimport)
-# define MeshExport __declspec(dllimport)
-# define PointsExport __declspec(dllimport)
-#else // for Linux
-# define ReenExport
-# define PartExport
-# define MeshExport
-# define PointsExport
-#endif
-
#ifdef _MSC_VER
# pragma warning(disable : 4181)
# pragma warning(disable : 4267)
diff --git a/src/Mod/ReverseEngineering/Gui/PreCompiled.h b/src/Mod/ReverseEngineering/Gui/PreCompiled.h
index 25171dd7c0..f693e2bd4a 100644
--- a/src/Mod/ReverseEngineering/Gui/PreCompiled.h
+++ b/src/Mod/ReverseEngineering/Gui/PreCompiled.h
@@ -25,23 +25,6 @@
#include
-// Importing of App classes
-#ifdef FC_OS_WIN32
-# define ReenExport __declspec(dllimport)
-# define ReenGuiExport __declspec(dllexport)
-# define PartExport __declspec(dllimport)
-# define MeshExport __declspec(dllimport)
-# define MeshGuiExport __declspec(dllimport)
-# define PointsExport __declspec(dllimport)
-#else // for Linux
-# define ReenExport
-# define ReenGuiExport
-# define PartExport
-# define MeshExport
-# define MeshGuiExport
-# define PointsExport
-#endif
-
#ifdef _MSC_VER
# pragma warning(disable : 4275)
#endif
diff --git a/src/Mod/ReverseEngineering/Gui/Workbench.h b/src/Mod/ReverseEngineering/Gui/Workbench.h
index 11bac50861..28c01e8247 100644
--- a/src/Mod/ReverseEngineering/Gui/Workbench.h
+++ b/src/Mod/ReverseEngineering/Gui/Workbench.h
@@ -31,7 +31,7 @@ namespace ReverseEngineeringGui {
/**
* @author Werner Mayer
*/
-class ReenGuiExport Workbench : public Gui::StdWorkbench
+class Workbench : public Gui::StdWorkbench
{
TYPESYSTEM_HEADER();
diff --git a/src/Mod/Test/Gui/PreCompiled.h b/src/Mod/Test/Gui/PreCompiled.h
index fad02fbffb..f12f2cbe61 100644
--- a/src/Mod/Test/Gui/PreCompiled.h
+++ b/src/Mod/Test/Gui/PreCompiled.h
@@ -26,13 +26,6 @@
#include
-// Importing of App classes
-#ifdef FC_OS_WIN32
-# define AppTestGuiExport __declspec(dllexport)
-#else // for Linux
-# define AppTestGuiExport
-#endif
-
#ifdef _PreComp_
// here get the warnings of too long specifiers disabled (needed for VC6)