构建系统:
环境:
问题: 我收到的新Qt Quick 2应用程序(内置元素)项目将无法运行:
class QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(void): Could not initialize egl display: error 12289
QOpenGLFunctions created with non-current context
List of attribute names is either too long or not null-terminated.
Maximum number of attributes on this hardware is 0.
Vertex shader:
attribute highp vec4 vertexCoord;
attribute highp vec4 vertexColor;
uniform highp mat4 matrix;
uniform highp float opacity;
varying lowp vec4 color;
void main() {
gl_Position = matrix * vertexCoord;
color = vertexColor * opacity;
}
Fragment shader:
varying lowp vec4 color;
void main() {
gl_FragColor = color;
}
我认为这是因为它在虚拟机上运行。
我已经尝试过Qt的ANGLE和OpenGL版本但都失败了。 OpenGL我预计会失败,因为我不认为我们的VMWare基础设施有兼容的视频驱动程序。
有没有其他人经历过这个并设法解决它?
谢谢, 马库斯
答案 0 :(得分:2)
我遇到了同样的问题,我通过在vmplayer conf中激活“加速3D图形”解决了这个问题。 之后,我没有错误消息,但应用程序仍然无效:它显示一个空白屏幕。
答案 1 :(得分:0)
此问题是由于DirectX End-User Runtime提供的d3dcompiler缺失,正如Friedemann Kleint对QTBUG-31611的评论所述。我有同样的问题(一个空白窗口)并安装DirectX并重新启动系统,一直是解决方案。
答案 2 :(得分:0)
安装NVIDIA图形加速+图形卡的相关NVIDIA软件驱动程序将在重启PC后解决问题