[Interest] Qt and MSVC 2017

Thiago Macieira thiago.macieira at intel.com
Sat Apr 29 22:17:23 CEST 2017

On Saturday, 29 April 2017 12:45:37 -03 Krzysztof Kawa wrote:
> 2017-04-29 17:30 GMT+02:00 Thiago Macieira <thiago.macieira at intel.com>:
> > In practice, we're finding out that due to a perverse effect of the ABI
> > for
> > DLLs, we may need to release binaries for 2017 and the 2015 ones will not
> > work for debug-mode builds with 2017.
> Can you elaborate on what problems occurred? I've been using this
> combo and haven't noticed problems so I'm very interested if there's
> something I don't know about.

We may have a couple of methods in classes with __declspec(dllexport) that are 
#ifdef'ed out for the one C++11 compiler feature that MSVC 2015 did not 
support even at the latest release (Q_COMPILER_CONSTEXPR). Due to the way that 
the ABI works, whenever an exported class is imported, the compiler expects to 
be able to call any and all methods, including the inline ones, by jumping 
into the DLL. But if they were #ifdef'ed out in the MSVC 2015 build, they 
won't be present in the DLL.

Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

More information about the Interest mailing list