> -----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
