diff --git a/examples/render/shared/renderexample.h b/examples/render/shared/renderexample.h
index 1a529ac11a24e08cd4d2512aaeda8f341f8b573e..ca9efb5e92c09969d7f38e7f7fb7cfd8c01802b6 100644
--- a/examples/render/shared/renderexample.h
+++ b/examples/render/shared/renderexample.h
@@ -38,7 +38,9 @@
 #include <QtCore/QElapsedTimer>
 #include <QtGui/QOpenGLContext>
 
+QT_BEGIN_NAMESPACE
 class QDemonRenderContext;
+QT_END_NAMESPACE
 
 class QDemonRenderExample : public QWindow
 {
diff --git a/examples/runtimerender/testbed/renderwindow.h b/examples/runtimerender/testbed/renderwindow.h
index 9e69f9ef024dc12a8348fbbfdaaa5b51193ec822..d965df3aa6ac7254c4298e382145ae17d30a1a78 100644
--- a/examples/runtimerender/testbed/renderwindow.h
+++ b/examples/runtimerender/testbed/renderwindow.h
@@ -7,11 +7,13 @@
 #include <QtDemon/qtdemonglobal.h>
 #include <QtDemonRuntimeRender/qdemonrendercontextcore.h>
 
+QT_BEGIN_NAMESPACE
 class QDemonRenderContext;
 class QDemonRenderLayer;
 struct QDemonRenderPresentation;
 struct QDemonRenderScene;
 struct QDemonRenderModel;
+QT_END_NAMESPACE
 
 class RenderWindow : public QWindow
 {
diff --git a/src/plugins/assetimporters/uip/datamodelparser.cpp b/src/plugins/assetimporters/uip/datamodelparser.cpp
index f6b00102d796e5c04d9982d693d80a5e1ff7616c..7fccf1e997cc1fcbb455383df3e40d6632353984 100644
--- a/src/plugins/assetimporters/uip/datamodelparser.cpp
+++ b/src/plugins/assetimporters/uip/datamodelparser.cpp
@@ -1,5 +1,7 @@
 #include "datamodelparser.h"
 
+QT_BEGIN_NAMESPACE
+
 QDebug operator<<(QDebug dbg, const DataModelParser::Property &prop)
 {
     QDebugStateSaver saver(dbg);
diff --git a/src/plugins/assetimporters/uip/keyframegroupgenerator.h b/src/plugins/assetimporters/uip/keyframegroupgenerator.h
index eb91398347db65005e55ce6f044fe065e660afe5..9651b34539298313cff590c8ad6c23abc02ff907 100644
--- a/src/plugins/assetimporters/uip/keyframegroupgenerator.h
+++ b/src/plugins/assetimporters/uip/keyframegroupgenerator.h
@@ -6,6 +6,8 @@
 #include "uippresentation.h"
 #include "uipparser.h"
 
+QT_BEGIN_NAMESPACE
+
 class KeyframeGroupGenerator
 {
 public:
@@ -73,4 +75,6 @@ private:
     QHash<GraphObject *, KeyframeGroupMap> m_targetKeyframeMap;
 };
 
+QT_END_NAMESPACE
+
 #endif // KEYFRAMEGROUPGENERATOR_H
diff --git a/src/quick3d/qdemoncustommaterial.cpp b/src/quick3d/qdemoncustommaterial.cpp
index 7dd3011911f579a6b74252f03cd8962ffbc07d7c..bac41d7d1a98ead8f9980e223ded5b5e073be32e 100644
--- a/src/quick3d/qdemoncustommaterial.cpp
+++ b/src/quick3d/qdemoncustommaterial.cpp
@@ -5,6 +5,8 @@
 #include "qdemonobject_p.h"
 #include "qdemonview3d.h"
 
+Q_DECLARE_OPAQUE_POINTER(QDemonCustomMaterialTexture)
+
 QT_BEGIN_NAMESPACE
 
 template <QVariant::Type>
diff --git a/src/quick3d/qdemoncustommaterial.h b/src/quick3d/qdemoncustommaterial.h
index b1f6c52a4c5d0ee6b915bc7813973b65a03a9e97..6fd36391828341660f740fe0e9e6ce54750150cd 100644
--- a/src/quick3d/qdemoncustommaterial.h
+++ b/src/quick3d/qdemoncustommaterial.h
@@ -90,8 +90,6 @@ Q_SIGNALS:
     void textureDirty(QDemonCustomMaterialTexture * texture);
 };
 
-Q_DECLARE_OPAQUE_POINTER(QDemonCustomMaterialTexture)
-
 class Q_QUICK3D_EXPORT QDemonCustomMaterialBuffer : public QObject
 {
     Q_OBJECT
diff --git a/src/quick3d/qdemonscenemanager_p.h b/src/quick3d/qdemonscenemanager_p.h
index 5c6b71875a3aca7789f7aefbcb678a8aef5275a6..b9cbe9198e33d1fc49322b92688a14aa63e050c5 100644
--- a/src/quick3d/qdemonscenemanager_p.h
+++ b/src/quick3d/qdemonscenemanager_p.h
@@ -43,8 +43,8 @@ Q_SIGNALS:
     void needsUpdate();
 };
 
-QML_DECLARE_TYPE(QDemonSceneManager)
-
 QT_END_NAMESPACE
 
+QML_DECLARE_TYPE(QDemonSceneManager)
+
 #endif // QDEMONSCENEMANAGER_P_H
diff --git a/src/render/backends/gl/qdemonrenderbackendgl3.cpp b/src/render/backends/gl/qdemonrenderbackendgl3.cpp
index 5cb094cf8d215fcf593126731fb9eb75ef60edf3..4974a915dab3fbe3d27a4d7cc1ba14661b49f9d3 100644
--- a/src/render/backends/gl/qdemonrenderbackendgl3.cpp
+++ b/src/render/backends/gl/qdemonrenderbackendgl3.cpp
@@ -779,4 +779,4 @@ void QDemonRenderBackendGL3Impl::waitSync(QDemonRenderBackendSyncObject so, QDem
     GL_CALL_EXTRA_FUNCTION(glWaitSync(syncID, 0, GL_TIMEOUT_IGNORED));
 }
 
-QT_BEGIN_NAMESPACE
+QT_END_NAMESPACE
diff --git a/src/render/qdemonrenderbasetypes.h b/src/render/qdemonrenderbasetypes.h
index 3a18778308ce7e49f131f91b380f23d9e126a444..5f7103996b98beb86f98efd58813cfd1aff5a993 100644
--- a/src/render/qdemonrenderbasetypes.h
+++ b/src/render/qdemonrenderbasetypes.h
@@ -1690,17 +1690,6 @@ typedef QDemonRenderGenericVec2<qint32> qint32_2;
 typedef QDemonRenderGenericVec3<qint32> qint32_3;
 typedef QDemonRenderGenericVec4<qint32> qint32_4;
 
-Q_DECLARE_METATYPE(bool_2)
-Q_DECLARE_METATYPE(bool_3)
-Q_DECLARE_METATYPE(bool_4)
-Q_DECLARE_METATYPE(quint32_2)
-Q_DECLARE_METATYPE(quint32_3)
-Q_DECLARE_METATYPE(quint32_4)
-Q_DECLARE_METATYPE(qint32_2)
-Q_DECLARE_METATYPE(qint32_3)
-Q_DECLARE_METATYPE(qint32_4)
-
-
 enum class QDemonRenderShaderDataType : quint32
 {
     Unknown = 0,
@@ -2008,4 +1997,14 @@ struct QDemonRenderGenericScopedProperty
 
 QT_END_NAMESPACE
 
+Q_DECLARE_METATYPE(bool_2)
+Q_DECLARE_METATYPE(bool_3)
+Q_DECLARE_METATYPE(bool_4)
+Q_DECLARE_METATYPE(quint32_2)
+Q_DECLARE_METATYPE(quint32_3)
+Q_DECLARE_METATYPE(quint32_4)
+Q_DECLARE_METATYPE(qint32_2)
+Q_DECLARE_METATYPE(qint32_3)
+Q_DECLARE_METATYPE(qint32_4)
+
 #endif