Можно ли заставить Qt использовать ANGLE при кросс-компиляции из Linux в Windows? - PullRequest
0 голосов
/ 16 октября 2018

http://doc.qt.io/qt-5/windows-requirements.html

Для работы Qt Quick 2 требуется графический драйвер, поддерживающий OpenGL 2.1 или выше.Драйвер по умолчанию для Windows - OpenGL 1.1.

qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 15.63 ms
qt.scenegraph.general: texture atlas dimensions: 512x1024
qt.scenegraph.general: R/G/B/A Buffers:    8 8 8 8
qt.scenegraph.general: Depth Buffer:       32
qt.scenegraph.general: Stencil Buffer:     8
qt.scenegraph.general: Samples:            -1
qt.scenegraph.general: GL_VENDOR:          Microsoft Corporation
qt.scenegraph.general: GL_RENDERER:        GDI Generic
qt.scenegraph.general: GL_VERSION:         1.1.0
qt.scenegraph.general: GL_EXTENSIONS:      GL_WIN_swap_hint GL_EXT_bgra GL_EXT_paletted_texture
qt.scenegraph.general: Max Texture Size:  1024
qt.scenegraph.general: Debug context:     false

Из-за этой проблемы мое приложение падает на Windows.

Мой коллега пытался собрать его на Windows иэто работает, потому что оно возвращается к ANGLE :

qt.scenegraph.general: windows render loop
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 15.63 ms
qt.scenegraph.general: texture atlas dimensions: 512x1024
qt.scenegraph.general: R/G/B/A Buffers:    8 8 8 8
qt.scenegraph.general: Depth Buffer:       24
qt.scenegraph.general: Stencil Buffer:     8
qt.scenegraph.general: Samples:            0
qt.scenegraph.general: GL_VENDOR:          Google Inc.
qt.scenegraph.general: GL_RENDERER:        ANGLE (Microsoft Basic Render Driver Direct3D11 vs_5_0 ps_5_0)
qt.scenegraph.general: GL_VERSION:         OpenGL ES 2.0 (ANGLE 2.1.0.8613f4946861)

Дело в том, что мы строим из Linux, используя threcipe/qt:windows_64_shared image: https://github.com/therecipe/qt/wiki/Deploying-Linux-to-Windows-64-bit-Shared

Я попробовал кое-чтонапример:

  • export QT_OPENGL=angle при сборке
  • копирование D3Dcompiler_47.dll, libEGL.dll, libGLESV2.dll и opengl32sw.dll в папку приложения

но приложение зависает при запуске.В консоли нет журналов даже с QT_DEBUG_CONSOLE=true.

Можно ли заставить Qt использовать ANGLE при сборке в Linux?Если да, то как?

...