Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Building Qt 5.12 (ANGLE) without Win SDK 10



  • Hello,

    It might be more relevant to ask this on the Angle project forums but I was wondering if someone on the Qt side could provide some guidance.

    I am porting a project from Qt5.9.7 to Qt5.12(.1). The build is done on a Win7 with WinSDK 8.1.
    Angle will fail to build because of missing d3d11 headers. According to their readme, it needs WinSDK 10 (that contains d3d11 headers) to build.

    I considered updating the tool chain to WinSDK 10 but that would involve a lot of work that I would prefer to avoid for now.
    I also tried to remove the build dependency on D3D11 from Angle. So far I edited:

    • qt-everywhere-src-5.12.0/qtbase/src/angle/src/config.pri to disable angle_d3d11 define
    • qt-everywhere-src-5.12.1/qtbase/src/angle/src/common/gles_common.pri and commented out ANGLE_D3D11_QDTD_AVAILABLE define

    Now the build failed a bit later with unrecognized flags (I don't have the cmd output right now)

    My question is. Is there a clean way to remove D3D11 build dependency from Angle. From this page: https://doc.qt.io/Qt-5/windows-requirements.html there are parameters that you can set through a JSON file to use d3d9, d3d11, etc... but it is not clear if the flag are for run-time or build time.
    If those parameters concern run-time then should I continue chasing build flags in order to disable d3d11 dependency from Angle?
    Any idea?
    Thank you


  • Moderators

    With Qt 5.12 you can just use the default build, which will build dynamic support (Qt will choose OpenGL, DirectX or ANGLE at runtime).

    I considered updating the tool chain to WinSDK 10 but that would involve a lot of work that I would prefer to avoid for now.

    Why? We're talking about using SDK 10 only for Qt build, not for your app.



  • Thank you for your answer.

    I understand that a runtime check is done in order to choose the proper backend and versions and that a standard build can be used everywhere.
    What I would like to do is be able to build Qt5.12 without Windows SDK 10. So far Angle is the one that complains first (that relies on d3d11 headers, usually found in Win SDK 10).

    This is why I asked if it is possible to remove the build dependency of Angle on d3d11. I was hoping that this would allow me to build Qt5.12 with Window SDK 8.1.

    I will try to use Win SDK 10 for Qt only.

    Thank you.


Log in to reply