On 30.08.2012 18:16, Thiago Macieira wrote: > On quinta-feira, 30 de agosto de 2012 17.25.24, Pau Garcia i Quiles wrote: >> There are more differences than that. There are differences in >> features, such as threading support, large-file support, etc. >> Mingw-w64 is usually ahead of any other in terms of features. > > My suggestion on how to proceed is to choose one that offers the following or > most of the following: > > - most recent GCC (4.7 preferably, 4.6 if not) > - *working* GDB and tested with Creator, with Python support > - large file support, threading > - zero-overhead exceptions (no SJLJ exceptions)
Seems to be a complicated topic. There are three implementations SJLJ, Dwraf-2, SEH (not SEH support but C++ exceptions implemented with SEH) and on two systems Win32 and Win64 http://sourceforge.net/mailarchive/message.php?msg_id=29651219 http://www.nynaeve.net/?p=113 http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-August/052339.html http://gcc.gnu.org/wiki/WindowsGCCImprovements http://tdm-gcc.tdragon.net/start http://sourceforge.net/tracker/?func=detail&aid=3019861&group_id=202880&atid=983357 http://sourceforge.net/apps/trac/mingw-w64/wiki/Exception%20Handling Using Dwarf-2 (a zero-overhead implementation) is problematic: "As a general rule, you should choose the default SJLJ packages, unless you know you need faster exception handling and can guarantee you'll never need to unwind through non-DW2-compiled stack frames (such as a Windows callback)" Using SJLJ "can work across code that has not been compiled with GCC or that does not have call-stack unwinding information." In summary: SJLJ & 32 : to much overhead SJLJ & 64 : to much overhead Dwarf & 32 : no general stack unwinding Dwarf & 64 : no general stack unwinding SEH & 32 : patented by MSFT SEH & 64 : only in GCC >= 4.7.2(4.8?) > - standard win32 headers, if possible using the Platform SDK headers > - large set of win32 import libraries > - 32 and 64-bit in one package > - make with -j support > - if this exists: can link to .dll directly, instead of import libs > > We should choose one version to be the reference platform and work on making > it Tier 1. We shouldn't have two versions, that duplicates work. > > > > _______________________________________________ > Development mailing list > Development@qt-project.org > http://lists.qt-project.org/mailman/listinfo/development > _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development