[Development] SJLJ vs DW2 (Was: Re: Qt 5.2.0 - Beta Release Testing)

Ray Donnelly mingw.android at gmail.com
Wed Feb 12 13:32:30 CET 2014


On Wed, Feb 12, 2014 at 12:03 PM, Koehne Kai <Kai.Koehne at digia.com> wrote:
>
>
>> -----Original Message-----
>> From: development-bounces+kai.koehne=digia.com at qt-project.org
>> [mailto:development-bounces+kai.koehne=digia.com at qt-project.org] On
>> Behalf Of Markus Goetz
>> Sent: Wednesday, February 12, 2014 11:45 AM
>> To: development at qt-project.org
>> Subject: [Development] SJLJ vs DW2 (Was: Re: Qt 5.2.0 - Beta Release
>> Testing)
>>
>> Hi Kai,
>>
>> On 25.10.13 10:05, Koehne Kai wrote:
>> > I think the link is outdated. MinGW-builds nowadays supported both dw2
>> and sjlj exception handling for 32 bit since ages, see e.g.
>> >
>> > http://mingw-w64.sourceforge.net/download.php#mingw-builds
>> >
>> > (Note that the Mingw-w64 and MinGW-builds projects joined forces just
>> recently, so the mingw-builds binaries are the 'officially endorsed' ones).
>> >
>> > Anyhow, Qt itself doesn't really care about SJLJ vs dw2: It compiles just fine
>> with both versions. It's just that, since 5.1, we're building the 'official'
>> packages with a dw2 toolchain.
>> >
>> Are there any plans to also provide official SJLJ packages for mingw-w64 ?
>
> No, there aren't any plans AFAIK. If we'll add a new configuration it'll most likely be a 64 bit one, and we really can't stretch the number of Windows binary packages much further.
>
>> Right now people that don't want to build themselves have to go 3rd
>> party sites like
>> http://sourceforge.net/projects/qtx64/files/qt-x64/5.2.1/mingw-4.8/
>
> I don't know about this project. However, the mingw-builds folks are also providing Qt packages, which I can only recommend:
>
> http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages
>
> I'm all for featuring these a bit more prominently within Qt ...

That would be great.

The Qt-builds project has morphed a bit (it's now built via the MSYS2
project). While Qt-builds is fantastic, MSYS2 is IMHO the best thing
to happen to Open Source on Windows since MinGW-w64. Alexey ported
Arch Linux's pacman package manager and a large set of MSYS2 packages
as well as ones for Windows 32bit and Windows 64bit, including of
course Qt5, QtCreator and Qbs (and hundreds more packages). You can
see the PKGBUILD and patch files here:

https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-qtcreator
https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-qt5

Installing Qt5 and all its dependencies is as easy as:
pacman -S mingw-w64-i686-qt
pacman -S mingw-w64-x86_64-qt

building if from source isn't *much* more complicated than:
cd /c/repo/mingw-w64-qt5
makepkg-mingw

The only real documentation we've got is:
http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/

Arch Linux users/developers should be quite at home in this environment.

>
>> (Yes, SJLJ is inferior to SEH, but sometimes you don't control the whole
>> stack/hell of DLLs and just need to use SJLJ)

MSYS2's Win64 GCC is SEH (and hence so are all the Win64 packages).

>
> Understood. We just made the choice for DW2 because SJLJ was a lot slower, even for people who don't use exceptions.
>
> Regards
>
> Kai
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development



More information about the Development mailing list