ANGLE with static 5.5 build
-
I've been having a lot of trouble with getting ANGLE to work in a statically built QML app. The release binary runs fine on my development machine, even with a clean environment, but on the other Windows boxes I've tried it fails to launch, with an error message saying graphics drivers are missing and suggesting making sure D3DCompiler_xx.dll, libEGL.dll, and libGLESv2.dll are available. I verified using Process Explorer that the release binary on my machine is not loading any DLLs that wouldn't be present on a target machine, but now I don't know where to go next in debugging this. Can anyone help?
I built my static Qt with MinGW-w64, gcc 4.9.2, i686, DWARF, POSIX threads, release v2. I configured as follows:
configure.bat -prefix C:\Qt\Static\5.5.0 -debug-and-release -static -platform win32-g++ -no-avx -no-avx2 -no-sse3 -no-ssse3 "-no-sse4.1" "-no-sse4.2" -no-openssl -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opensource -make libs -make tools -nomake examples -nomake tests -skip activeqt
It appears that Qt defaults to using OpenGL ES in 5.5, so I left out the
-opengl angle
option that was previously necessary in 5.4.I also found that even with all the instruction set related flags, the ANGLE build was still emitting AVX instructions - I fixed it temporarily by commenting out the
-march=native
option in qtbase/src/angle/src/config.pri and adding-march=pentium4
to qtbase/mkspecs/win32-g++/qmake.conf. -
Another interesting development: I tried running on another machine with the Qt toolchain installed, and the program worked. So it appears it is still reading something from the filesystem that is not on a regular Windows machine, but I don't know what that might be. I did package all the qmldir files needed for Qt Quick to work.