> -----Original Message-----
> From: Erik van Pienbroek [mailto:[email protected]]
> Sent: Thursday, September 12, 2013 12:40 AM
> To: [email protected]
> Subject: Re: [Mingw-w64-public] mingw-w64 v3 release calling for testers
> 
> Erik van Pienbroek schreef op di 10-09-2013 om 20:25 [+0200]:
> > qt5-qtbase:
> > -----------
> >
> > /builddir/build/BUILD/qtbase-opensource-src-
> 5.1.1/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp:236:8:
> error: redefinition of 'struct IEnumShellItems'
> >  DECLARE_INTERFACE_(IEnumShellItems, IUnknown)
> >         ^
> > In file included
> > from /usr/i686-w64-mingw32/sys-root/mingw/include/shlobj.h:100:0,
> >
> > from /builddir/build/BUILD/qtbase-opensource-src-
> 5.1.1/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp:70:
> > /usr/i686-w64-mingw32/sys-root/mingw/include/shobjidl.h:10605:1: error:
> > previous definition of 'struct IEnumShellItems'
> >  IEnumShellItems : public IUnknown
> >  ^
> >
> > This is still the same as in the previous test run. I'm doing more
> > research into this one now
> 
> I've finished my research on this one and came up with a patch for qt5-
> qtbase (attached). 

Hi Erik,

Thanks a lot for the investigation !

> The annoying part is that this patch can't be properly
> upstreamed. The last part of the patch breaks compilation against older
> mingw-w64 snapshots. This is due to a change which was done in r6215:
> http://sourceforge.net/p/mingw-w64/code/6215/
> 
> In this commit the prototype for the symbol SHGetPathFromIDList get
> changed (the argument 'LPCITEMIDLIST pidl' got changed to
> 'PCIDLIST_ABSOLUTE pidl'). The qt5 folks used to work-around the invalid
> function prototype in the past but now that mingw-w64 is implementing
> things correctly this workaround breaks stuff. As there are no macros inside
> mingw-w64 which identify the svn revision all I could came up with is a
> '__MINGW64_VERSION_MAJOR < 3' conditional as best possible solution.

So which toolchains / Mingw-w64  versions would still break with the 
"VERSION_MAJOR < 3" check?

What I care most about is that compilation still succeeds with the toolchains 
we 'officially' shipped and endorsed in the Qt SDK at one point. That is:

   mingw-builds x32-4.8.0-release-posix-dwarf-rev2 using revision 5540
   mingw-builds x32-4.7.2-release-posix-sjlj-rev8 using revision 5796

Ideally every Qt version should still compile which every toolchain using 
'newer' headers, but that's just a goal.

Regards

Kai

PS: Is it possible to put the svn revision in a macro, so that we can use it in 
future incidents like that?
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to