summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Blechmann <[email protected]>2025-07-04 11:25:58 +0800
committerTim Blechmann <[email protected]>2025-07-07 18:02:26 +0800
commit585ea1e36ede92e497864d360d84fbf297661fd9 (patch)
tree4e12d461454cc6413333071cbb831aa9b98fe787
parentb7e2eba839be6596ed85ade5535b344875266ae3 (diff)
Allow cpp_winrt with clang-clHEADdev
guiddef.h needs to be included before winrt/base.h for clang-cl builds because of a "member access into incomplete type" error. Pick-to: 6.10 Change-Id: I99214ba15332f1f5080541893ec9af77af52373f Reviewed-by: Oliver Wolff <[email protected]> Reviewed-by: Thiago Macieira <[email protected]>
-rw-r--r--src/corelib/configure.cmake1
-rw-r--r--src/corelib/platform/windows/qt_winrtbase_p.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake
index 909041cf44b..096dce9e84e 100644
--- a/src/corelib/configure.cmake
+++ b/src/corelib/configure.cmake
@@ -591,6 +591,7 @@ qt_config_compile_test(cpp_winrt
runtimeobject
CODE
"// Including winrt/base.h causes an error in some configurations (Windows 10 SDK + c++20)
+# include <guiddef.h> // required by clang-cl: https://github.com/microsoft/cppwinrt/issues/1179
# include <winrt/base.h>
int main(void)
diff --git a/src/corelib/platform/windows/qt_winrtbase_p.h b/src/corelib/platform/windows/qt_winrtbase_p.h
index fb7366f93de..79c2bdf6b1c 100644
--- a/src/corelib/platform/windows/qt_winrtbase_p.h
+++ b/src/corelib/platform/windows/qt_winrtbase_p.h
@@ -18,6 +18,7 @@
#include <QtCore/qglobal.h>
#if QT_CONFIG(cpp_winrt)
+# include <guiddef.h> // required by clang-cl: https://github.com/microsoft/cppwinrt/issues/1179
# include <winrt/base.h>
# include <QtCore/private/qfactorycacheregistration_p.h>
// Workaround for Windows SDK bug.