[Development] Qt 5.2.0 - Beta Release Testing

Christian Gagneraud chgans at gna.org
Sat Oct 26 01:18:47 CEST 2013


On 10/25/2013 07:54 AM, Thiago Macieira wrote:
> On sexta-feira, 25 de outubro de 2013 17:35:59, Christian Gagneraud wrote:
>> On 25/10/13 11:11, Thiago Macieira wrote:
>>> Also note that it depends on *which* cross compiler you have. We'd have to
>>> ship the mingw compilers for Linux just like we do for Windows -- the ones
                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^

>>> on
>> Are you saying that qt-linux-opensource-*-mingw* contains a toolchain too?
>
> No, it doesn't exist. I can't tell you what is inside it if it doesn't exist.

My mistake, I meant qt-windows-*-mingw* and your comment sounds like you 
do ship the mingw native toolchain with qt-windows-*-mingw*.
(Update: Definitely yes, according to [1] and [2])

>
> I'm saying that if we created it, we'd have to include a toolchain inside.
>
>> You could also use the "It works with *this* toolchain" approach,
>> similar to how you handle android and BB as they come with their
>> dedicated SDK.
>
> <sarcasm>Oh, sure. Let's all point to the Fedora mingw32. Let's see what the
> Ubuntu users think of that!</sarcasm>

Yeah, Fedora sucks, Ubuntu sucks, OpenSuse rulez! ;)
Seriously, I don't mind using any of them, but i do get your point.

>
> No, we'd need to supply a toolchain for everyone.

My point here, wasn't to prefer a distro over another, but maybe a 
distro-agnostic and somehow "official" linux-mingw* cross-toolchain.
Since you do it for native windows, you could do the same for 
qt-linux-mingw32/64

Now, based on your comments and Kai's ones, It seems to me that, when it 
comes to cross-compiling Qt for Windows on a Linux box:
- It is doable, but as there's *no* cross-toolchain supporting DW2, this 
will be an "unsupported" build. As official Qt builds are done with a 
DW2 native toolchain (for some reason) even if Qt doesn't make use of 
the exception mechanism
- Cross compiling Qt for windows implies an exception handling 
performance penalty since, as of now, mingw toolchains only support SJLJ 
in this configuration.

In case someone else is interested, [1] and [2] are definitely worth a 
reading.

Thx,
Chris

[1] http://qt-project.org/wiki/MinGW-64-bit
[2] http://qt-project.org/wiki/MinGW

>
>> According to [1], it's not mingw's fault, thoughts, I don't know who is
>> responsible of "The Dwarf-2 EH implementation for Windows". If Qt switch
>> to Dwarf-2 EH, it would mean that it will be incompatible with
>> mimgw-w64, isn't it a big loose for Qt then? Does that impact mingw-w32 too?
>
> We'll switch to DW2 for 32-bit and SEH for 64-bit. Those options have zero
> runtime cost.
>
> We don't care about throwing across Win32 functions compiled with other
> compilers (including system functions). We don't throw in our code, so we want
> to make our code as fast as possible. If you use exceptions in your code and
> DW2 is unsuitable, you'll have to recompile.
>
>
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
>




More information about the Development mailing list