[Interest] Qt 5.8.0 RC build under windows

Thiago Macieira thiago.macieira at intel.com
Fri Jan 20 03:22:06 CET 2017


On quinta-feira, 19 de janeiro de 2017 16:54:58 PST Prav wrote:
> Hello, Thiago.
> 
> >> And why Qt now needs RTTI? Qt  5.7.0 was building fine without RTTI. What
> >> features added to 5.8.0 made RTTI mandatory I wonder?
> > 
> > Someone added a dynamic_cast. That's all.
> 
> OK. Someone added dynamic_cast somewhere in Qt and whole Qt lost ability to
> be build without RTTI. And you added patch to remove -no-rtti flag for
> 5.8.1. I got it.

Yeah, because I had three choices:

 a) leave it, which meant that you could compile qtbase with -no-rtti, but 
you'd run into a compiler error later if you tried to compile qtdeclarative

 b) remove the option, so that no one can get a compiler error

 c) remove the dynamic_cast by adding our own hand-rolled RTTI to detect 
whether the object in question was of the class that the code wanted

(c) was too much work, (a) didn't look nice.

> >>So finally : Qt version 5.8.0 can NOT be build under Win7 with Win7SDK!?
> >>(It seems Qt for desktop need some definitions from WinRT ... who know
> >>why)>
> >Qt 5.8 can be built under Win7, but you should use the Win10SDK. The reason
> >for that is that you want your programs to support Windows 10, regardless
> >of what you use to develop.
> 
> OK. Someone added unknown Win10 features to Qt lib unconditionally and now
> desktop Qt build depends on WinRT SDK and as result Qt can not be build
> with Win7SDK now.
> I got this also.

Nope. It doesn't depend on the WinRT SDK. It depends on the Windows (desktop) 
8 SDK. Requiring you to have the latest SDK is an acceptable compromise.

> I do NOT feel good about how easy and invisibly such fundamental
> compatibility features are lost in Qt because of very small and probably
> unimportant changes in Qt code. I can only live with Qt in the way it will
> be created by Thiago and others Qt's developers.

Explain to me why you want your applications, when run on Windows 10, *not* to 
have the best functionality. Note that it will still run on Windows 7 and 8.1, 
with the same binary.

If you give me a good enough reason, I will consider applying a fix myself.

> But I still want to be able to build it under windows? I still do not
> understand why I still have error (even when I use Win10SDK and if I will
> NOT use -no-rtti): error is in :
> qtdeclarative\src\plugins\scenegraph\d3d12\Makefile.Debug
> [.obj\debug\qsgd3d12shadereffectnode.obj] Error 2 and it is :
> qtdeclarative\src\plugins\scenegraph\d3d12\qsgd3d12shadereffectnode.cpp(544)
> : error C2061: syntax error : identifier 'textureProviders'
> 
> What is that and why it can be? How to avoid that error?

That looks like a genuine problem, but I have no clue what it is about. Please 
report it against Qt3D.

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




More information about the Interest mailing list