[SOLVED] QQuaternion has no member named conjugated
The title already explains my problem. When looking up
QQuaternion::conjugate()from the documentation (the one in Qt Creator) it is said:
The following members of class
QQuaternionare obsolete. They are provided to keep old source code working. We strongly advise against using them in new code.
But when I use
conjugated()I got an error message:
'class QQuaternion' has no member named 'conjugated' m_world.rotate(m_rotation.conjugated()); ^
I am using:
Qt Creator 3.6.0
Based on Qt 5.5.1 (MSVC 2013, 32 bit)
Built on Dec 15 2015 01:01:38
From revision b52c2f91f5
The method should be available. Have you included the header?
I can use
conjugate()without any problems and already use quaternions in my program. So this should not be the reason.
Are you using Qt 4? It doesn't seem to be the case, since there no such method in Qt 4.
Version 5.4.2 is used.
This is odd because it is not using the version stated in the "About Qt Creator..." dialog.
However a version of Qt5 is used, so it should work.. any other suggestions?
maybe a silly question
This function was introduced in Qt 5.5.
so would not be there in Version 5.4.2 ?
That makes sense. I wasn't thinking about that again because Qt Creator showed me 5.5.1 then I found out that this was not true.
Now it is clear why it is not working but why is it then using 5.4.2 (this is what
qDebug() << "Qt " << QT_VERSION_STR;shows me) instead of 5.5.1?
Qt creator is an IDE. It can be linked against pretty much any version of Qt and this is in no way connected to what version of Qt you use for developing. For example, my Qt creator uses Qt 5.5 (as well), but I have binaries (the library itself) for versions 5.5, 5.6 and the development branch from the repositories.
Now I realised what my mistake was. When you click (in project settings) on a different kit it is automatically enabled.
I thought the version will only be changed when you choose one with the button (computer symbol) in the bottom left corner.