从Linux交叉编译到Windows时,是否可以强制Qt使用ANGLE?

时间:2018-10-16 07:43:36

标签: qt go opengl opengl-es opengl-es-2.0

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)

问题是我们正在使用threcipe/qt:windows_64_shared图片https://github.com/therecipe/qt/wiki/Deploying-Linux-to-Windows-64-bit-Shared

从Linux构建

我尝试过这样的事情:

  • export QT_OPENGL=angle构建时
  • D3Dcompiler_47.dlllibEGL.dlllibGLESV2.dllopengl32sw.dll复制到应用文件夹

,但应用程序在启动时挂起。即使使用QT_DEBUG_CONSOLE=true,控制台中也没有日志。

在Linux上构建时是否可以强制Qt使用ANGLE?如果是,怎么办?

0 个答案:

没有答案