<div dir="ltr">Are you mixing 64bit and 32bit libraries by accident during linking? I had similar messages in that scenario.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 27, 2019 at 12:57 PM Oliver Wolff <<a href="mailto:Oliver.Wolff@qt.io">Oliver.Wolff@qt.io</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Frederico,<br>
<br>
I am not aware of an issue with ANGLE when using MinGW. Can you create a <br>
bug report on <a href="http://bugreports.qt.io/" rel="noreferrer" target="_blank">http://bugreports.qt.io/</a> ,attach a minimal example, and <br>
assign it to me so that it does not get lost?<br>
<br>
Olli<br>
<br>
On 25/05/2019 17:47, Federico Buti wrote:<br>
> Hi all.<br>
> <br>
> We are facing a quite strange behaviour with qnanopainter <br>
> <<a href="https://github.com/QUItCoding/qnanopainter" rel="noreferrer" target="_blank">https://github.com/QUItCoding/qnanopainter</a>>.<br>
> Building/running the library and the examples works smoothly on Qt 5.9.8 <br>
> and no issue is found. I guess everything was fixed there, see for <br>
> instance here <br>
> <<a href="https://github.com/QUItCoding/qnanopainter/issues/16#issue-235192684" rel="noreferrer" target="_blank">https://github.com/QUItCoding/qnanopainter/issues/16#issue-235192684</a>>.<br>
> <br>
> Building the code on 5.12.x results in a similar linker issue as <br>
> depicted in the last link. In particular we have a series of undefined <br>
> references as shown below:<br>
> <br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x12b): <br>
> undefined reference to `_imp__glDeleteTextures@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b4): <br>
> undefined reference to `glDeleteShader@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d5): <br>
> undefined reference to `glDeleteBuffers@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e5): <br>
> undefined reference to `glDeleteShader@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f5): <br>
> undefined reference to `glDeleteProgram@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x988): <br>
> undefined reference to `_imp__glBindTexture@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x9a0): <br>
> undefined reference to `_imp__glPixelStorei@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x9fc): <br>
> undefined reference to `_imp__glTexSubImage2D@36'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0xa43): <br>
> undefined reference to `_imp__glBindTexture@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1361): <br>
> undefined reference to `_imp__glDeleteTextures@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1388): <br>
> undefined reference to `_imp__glGetError@0'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1407): <br>
> undefined reference to `_imp__glGenTextures@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x143a): <br>
> undefined reference to `_imp__glBindTexture@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1442): <br>
> undefined reference to `_imp__glPixelStorei@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x14ae): <br>
> undefined reference to `_imp__glTexImage2D@36'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x14d7): <br>
> undefined reference to `_imp__glTexParameteri@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1638): <br>
> undefined reference to `_imp__glBindTexture@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x16b9): <br>
> undefined reference to `glGenerateMipmap@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x16fa): <br>
> undefined reference to `_imp__glTexImage2D@36'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x171a): <br>
> undefined reference to `_imp__glTexParameteri@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x17e0): <br>
> undefined reference to `glUniform4fv@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1828): <br>
> undefined reference to `_imp__glBindTexture@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x185f): <br>
> undefined reference to `_imp__glBindTexture@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x18bb): <br>
> undefined reference to `glGetProgramInfoLog@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x192e): <br>
> undefined reference to `glGetShaderInfoLog@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x19c9): <br>
> undefined reference to `glCreateProgram@0'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x19d7): <br>
> undefined reference to `glCreateShader@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x19e8): <br>
> undefined reference to `glCreateShader@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a19): <br>
> undefined reference to `glShaderSource@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a44): <br>
> undefined reference to `glShaderSource@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a4f): <br>
> undefined reference to `glCompileShader@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a6a): <br>
> undefined reference to `glGetShaderiv@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1a94): <br>
> undefined reference to `glCompileShader@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1aaf): <br>
> undefined reference to `glGetShaderiv@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1adb): <br>
> undefined reference to `glAttachShader@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1aea): <br>
> undefined reference to `glAttachShader@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b05): <br>
> undefined reference to `glBindAttribLocation@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b20): <br>
> undefined reference to `glBindAttribLocation@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b2b): <br>
> undefined reference to `glLinkProgram@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1b46): <br>
> undefined reference to `glGetProgramiv@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1bd9): <br>
> undefined reference to `glGetUniformLocation@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1bf1): <br>
> undefined reference to `glGetUniformLocation@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1c09): <br>
> undefined reference to `glGetUniformLocation@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1c22): <br>
> undefined reference to `glGenBuffers@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1c38): <br>
> undefined reference to `_imp__glFinish@0'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d14): <br>
> undefined reference to `_imp__glStencilFunc@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d5f): <br>
> undefined reference to `glUseProgram@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d64): <br>
> undefined reference to `_imp__glEnable@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d86): <br>
> undefined reference to `_imp__glCullFace@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1d96): <br>
> undefined reference to `_imp__glFrontFace@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1da7): <br>
> undefined reference to `_imp__glDisable@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1dca): <br>
> undefined reference to `_imp__glColorMask@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1df7): <br>
> undefined reference to `_imp__glStencilMask@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e0c): <br>
> undefined reference to `_imp__glStencilOp@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e4c): <br>
> undefined reference to `_imp__glStencilFunc@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e5b): <br>
> undefined reference to `glActiveTexture@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1e60): <br>
> undefined reference to `_imp__glBindTexture@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1edf): <br>
> undefined reference to `glBindBuffer@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f07): <br>
> undefined reference to `glBufferData@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f16): <br>
> undefined reference to `glEnableVertexAttribArray@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f25): <br>
> undefined reference to `glEnableVertexAttribArray@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f5c): <br>
> undefined reference to `glVertexAttribPointer@24'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1f93): <br>
> undefined reference to `glVertexAttribPointer@24'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1fa9): <br>
> undefined reference to `glUniform1i@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1fc6): <br>
> undefined reference to `glUniform4fv@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x1fce): <br>
> undefined reference to `_imp__glDrawArrays@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2085): <br>
> undefined reference to `glBlendFuncSeparate@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2141): <br>
> undefined reference to `glStencilOpSeparate@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2168): <br>
> undefined reference to `glStencilOpSeparate@16'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x217f): <br>
> undefined reference to `_imp__glDrawArrays@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2289): <br>
> undefined reference to `glDisableVertexAttribArray@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2298): <br>
> undefined reference to `glDisableVertexAttribArray@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x22bd): <br>
> undefined reference to `glBindBuffer@8'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x22cc): <br>
> undefined reference to `glUseProgram@4'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2374): <br>
> undefined reference to `_imp__glDrawArrays@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x249e): <br>
> undefined reference to `_imp__glDrawArrays@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2532): <br>
> undefined reference to `_imp__glDrawArrays@12'<br>
> libqnanopainter.a(qnanobackendgles2.cpp.o):qnanobackendgles2.cpp:(.text+0x2843): <br>
> undefined reference to `_imp__glDrawArrays@12'<br>
> <br>
> When we substituted the "liblibGLESv2.a" from Qt 5.12 with the one from <br>
> 5.9 - just to do a wild test - compilation succeeded but then we had a <br>
> runtime failure which was totally expected.<br>
> <br>
> The very same series of undefined references are also spotted while <br>
> cross-compiling with MXE and a patched Qt version to have dynamic <br>
> selection of the GL backend.<br>
> <br>
> What is exactly happening here? How can we proceed? What's the best way <br>
> to use angle when cross-compiling Qt, e.g. with MXE?<br>
> <br>
> Thanks in advance,<br>
> F.<br>
> <br>
> <br>
> _______________________________________________<br>
> Interest mailing list<br>
> <a href="mailto:Interest@qt-project.org" target="_blank">Interest@qt-project.org</a><br>
> <a href="https://lists.qt-project.org/listinfo/interest" rel="noreferrer" target="_blank">https://lists.qt-project.org/listinfo/interest</a><br>
> <br>
_______________________________________________<br>
Interest mailing list<br>
<a href="mailto:Interest@qt-project.org" target="_blank">Interest@qt-project.org</a><br>
<a href="https://lists.qt-project.org/listinfo/interest" rel="noreferrer" target="_blank">https://lists.qt-project.org/listinfo/interest</a><br>
</blockquote></div>