Important: Please read the Qt Code of Conduct -

Error in qvector3d.h even though im not even using it

  • Hi guys, right now i got a strange behaviour:

    My current project was originally created on a linux system using QtCreator (at my university).
    Now im at home and trying to build it, but im getting a strange error message:

    They are all rooted in the qvector3d.h file which i am not using at all to my knowledge. (used to use it though, but replaced it with a stripped down template class named "Point3D"
    Nowhere am i including qvector3d.h and even then it should not created any errors.

    Any thoughts? I tried cleaning and rebuilding the project of course.

  • Nobody got an idea?
    Or is something unclear?

    Why is Qt crying about a missing semicolon for example before the "<" in this line "class Q_GUI_EXPORT Point3D__<qreal>" of qvector3d.h?

    This sounds similar to errors i got when i lacked a closing semicolon after a class declaration but i checked all my classes and none is missing

  • To give an answer myself:
    Turns out QtCreator 5 was natively built (precompiled) using OpenGL ES which the project i tried to run did not use (but the "proper" opengl version).
    Have to rebuilt the QtCreator myself with the proper options, i quote for completness:

    OK that is the source of your issues then. The pre-compiled Windows desktop version of Qt5 is built against ANGLE which only provides OpenGL ES 2 support by implementing it on top of DirectX 9.

    This was done to ensure that QtQuick2 works on all windows systems, including those with crappy Intel OpenGL drivers ;)

    OpenGL ES 2 does not support the legacy fixed function pipeline, only a shader-based one.

    There is a bug open to provide a build of Qt 5 using the native desktop OpenGL implementation for Qt 5.0.1. Please go vote for to see this happen.

    For now, you have two choices:

    Live with OpenGL ES 2 support and don’t use legacy OpenGL
    Build your own copy of Qt 5 to use the native OpenGL drivers by passing in
    -opengl desktop

    to configure.

    With the 2nd option you should have access to OpenGL from 1.0 up to 4.3 (if your card/driver support it).


Log in to reply