in qcborstreamreader.h there is
and in qcborcommon.h
This can lead to includes order hell, if True/False isn't defined when qcborcommon.h is included which QJsonValue does.
my example is using live555 which defines True/False. If live555 includes do not come before any Qt includes which leads to qcborcommon.h, than the above in qcborstreamreader.h will not undefine True/False.
Besides the point using True/False in an enum is poor practice, bridging these #if defined will certainly force a includes order. Proper practice is to also check True/False in qcborstreamreader.h