[Interest] Qt 5.8.0 RC build under windows

Prav pr12og2 at programist.ru
Mon Jan 16 17:04:56 CET 2017


I tried to compile 5.8.0 RC just to see how healthy it is under windows with msvc2013 (update 5) compiler.

As I understand using header and libs of Windows 7 SDK should be OK for building Qt (at least it always was for previous versions).

But then I build I got errors. First error is in :
qtbase\src\plugins\platforms\windows\Makefile.Debug [.obj\debug\qwindowsservices.obj] Error 2
and it is :
qtbase\src\plugins\platforms\windows\qwin10helpers.cpp(53) : fatal error C1083: Cannot open include file: 'inspectable.h': No such file or directory

So it is something about Win10 (from name qwin10helpers.cpp). Who asked for Win10 features? I did not

So what? We really need Win10 SDK to compile Qt for Win7 or this is mistake in build system?


But OK. Let try Win10 SDK instead of Win7 SDK. Compiler will be same msvc2013 (update 5). In that case I get another error. First error is in :
qtdeclarative\src\quick\Makefile.Release [.obj\release\qsgsoftwarepublicnodes.obj] Error 2
and it is
qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2825: 'T': must be a class or namespace when followed by '::'
        A:\qtt\__\580\qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see reference to function template instantiation 'T qt_dynamic_cast_check<QSGSoftwarePixmapTexture*,QSGTexture*>(X,T *)' being compiled
        with
        [
            T=QSGSoftwarePixmapTexture *
,            X=QSGTexture *
        ]

And some errors in the same file just after that :
qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2039: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : is not a member of '`global namespace''
qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2146: syntax error : missing ';' before identifier 'dynamic_cast_will_always_fail_because_rtti_is_disabled'
qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2275: 'T' : illegal use of this type as an expression
qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(101) : see declaration of 'T'
qtbase\include\qtcore\../../src/corelib/global/qglobal.h(1009) : error C2065: 'dynamic_cast_will_always_fail_because_rtti_is_disabled' : undeclared identifier
qtdeclarative\src\quick\scenegraph\adaptations\software\qsgsoftwarepublicnodes.cpp(104) : see declaration of 'T'

Does anyone ever had such error in qtdeclarative? Why it happens?


I can download
qt-opensource-windows-x86-msvc2013-5.8.0-rc_699.exe
which mean that msvc2013 should be fine to compile Qt.


Finally:
1. I did something wrong?
2. Why there is need in Win10 SDK (this is feature or bug)?
3. May be some requirements changed for tools like perl or something else in 5.8.0 version and this is why I can not build the Qt 5.8.0 RC?

Thanks in advance!



PS
I am building only some modules of Qt (if it matters ... but I belive it does not) :
qtbase
qtdeclarative
qtxmlpatterns




More information about the Interest mailing list