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
我尝试过这样的事情:
export QT_OPENGL=angle
构建时D3Dcompiler_47.dll
,libEGL.dll
,libGLESV2.dll
和opengl32sw.dll
复制到应用文件夹,但应用程序在启动时挂起。即使使用QT_DEBUG_CONSOLE=true
,控制台中也没有日志。
在Linux上构建时是否可以强制Qt使用ANGLE
?如果是,怎么办?