Добро пожаловать в SO!
Прежде всего, давайте выясним, что означает ошибка.
Qt использует ANGLE в Windows, который является слоем, позволяющим запускатьПрограммное обеспечение OpenGL в системах, где OpenGL недоступен, путем трансплантации вызовов OpenGL в вызовы DirectX.Qt решает, использовать ли чистый OpenGL или ANGLE в зависимости от конфигурации машины (модель видеокарты, версия видеодрайвера и т. Д.).Более подробную информацию об этом можно получить по адресу https://wiki.qt.io/Qt_5_on_Windows_ANGLE_and_OpenGL.
Даже если вы сами не пишете какой-либо код OpenGL, среда выполнения qml, безусловно, имеет множество вызовов OpenGL, которые снова могут проходить через ANGLE.
Вот почему сбивающее с толку сообщение об ошибке (ищет компилятор шейдера D3D при работе с кодом OpenGL!).
Теперь проект Qt bugtracker сообщает о той же проблеме, что и у вас https://bugreports.qt.io/browse/QTBUG-71510, хотя на момент написания решения не было предоставлено.Я бы посоветовал взглянуть на багтрекер время от времени, чтобы следить за ходом решения этой проблемы.
Несколько обходных путей, которые вы можете попробовать:
- Скопируйте файл d3dcompiler_xx.dll втот же каталог, в котором находится ваш exe;
- Заставьте Qt использовать OpenGL вместо DirectX, установив переменную окружения QT_OPENGL в desktop (подробнее об этом наhttp://doc.qt.io/qt-5/windows-requirements.html)