From 8ff33f1bbbcd669c58781038fa386ec0d683e7dc Mon Sep 17 00:00:00 2001 From: yyc12345 Date: Mon, 12 Oct 2026 16:49:56 +0800 Subject: [PATCH] fix: include before for MSVC is not self-contained: its forward declarations use the \interface\ macro, which is only defined in via the include chain. Qt headers do not provide , so including first caused C2146/C2371 parse errors on MSVC and broke all IShellWindows usages. Include as a prelude. --- app/playlistscouts/explorerscout.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/playlistscouts/explorerscout.cpp b/app/playlistscouts/explorerscout.cpp index 79c5a62..3d0e28f 100644 --- a/app/playlistscouts/explorerscout.cpp +++ b/app/playlistscouts/explorerscout.cpp @@ -13,6 +13,15 @@ #include +// YYC MARK: +// is not self-contained: it only includes / before +// emitting `typedef interface ...` forward declarations, while the `interface` +// macro (defined as `struct` for C++) lives in , which is pulled +// in via the chain. Without this prelude, MSVC fails to parse those +// forward declarations (C2146/C2371) and every IShellWindows usage breaks. +// (Qt headers do not include , so nothing else provides it here.) +#include + #include // IShellWindows, CLSID_ShellWindows #include // IServiceProvider #include // SID_STopLevelBrowser