Qt World Summit: Submit your Presentation

QT 5.13.0 Static Commercial Build - Requiring D3D12.dll?

  • So our tool has used the open source QT for some time, we build against the msvc-win32 toolset using the prebuilt binaries you get from the downloader. We provide the libegl libglesv2 and d3dcompiler_47 dll files and have had no issues with the tool running on any system, with or without graphics drivers, including Windows VM's where the tool is compiled.

    We recently acquired a commercial license, and I have built QT using the VS2015 x86 x64 configuration with the following command

    configure -static -debug-and-release -static-runtime -platform win32-msvc2015 -opengl dynamic -nomake examples -nomake tests -no-openssl -commercial -prefix C:\Qt\Static\5.13.0

    All goes well, after running jom and jom install i have a built version of QT. I modified our tools project file to add the CONFIG += static config and pointed to the new statically built libs and off it went and out comes a much larger exe as expected.

    But when i launch the static built Exe on our VM i get an error that i do not have D3d12.dll installed, and the tool errors out and closes. This does not happen with our shared build configuration against the released msvc binaries from 5.13.0.

    If the static build is transferred to another PC such as my Windows development PC with an Nvidia graphics card and drivers it works great with no issue.

    I can find no reference to DirectX 12 anywhere in relation to QT and am at a standstill for why this is not functioning. Our tool needs to continue to operate on bare bones systems that may never see a graphics driver as they only ever live within an internal lab network and are rebuilt constantly.

    Any help would be greatly appreciated.

  • Lifetime Qt Champion


    Since you have a commercial licence, I would recommend opening an issue directly from your account as you have access to support.