Private header warnings on building Qt Creator. What do they mean?



  • I'm trying to build Qt Creator 2.8.1 onto my CentOS 6.4 (with qt 5.1.1 libraries from yum). Qmake returns a few interesting errors which I don't understand. What is 'private header'?
    Can someone explain what the private header warning means? And how do I resolve it? (The app I wish to compile will run on systems without the exact same version of Qt I'm using):

    @Reading /usr/src/qtcreator/qt-creator-2.8.1-src/src/plugins/designer/designer.pro
    Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
    Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
    Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!@

    and

    @Reading /usr/src/qtcreator/qt-creator-2.8.1-src/src/plugins/qnx/qnx.pro
    Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
    Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
    Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!@

    and

    @Reading /usr/src/qtcreator/qt-creator-2.8.1-src/src/plugins/qmldesigner/qmldesignerplugin.pro
    Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
    Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
    Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!@

    and

    @Reading /usr/src/qtcreator/qt-creator-2.8.1-src/src/tools/qmlpuppet/qmlpuppet/qmlpuppet.pro
    Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
    Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
    Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!@

    and

    @Reading /usr/src/qtcreator/qt-creator-2.8.1-src/src/tools/qml2puppet/qml2puppet/qml2puppet.pro
    Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
    Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
    Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!@


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    This is nothing you have to worry about for your future development. The Qt version used to build Qt Creator doesn't affect which version you use to build your software (they can be the same though)

    This warning just tells you that Qt Creator is using some part of Qt that are not public (as in the public API you will use) so if you replace the Qt libraries with another version, the private implementation might have change so Qt Creator would crash.

    Hope it clarifies things



  • Ok - so this only affects QT Creator (not the apps I compile using QT Creator). I assume this also means that if I update any qt5-* packages using yum, that I will have to recompile QT Creator?
    Thanks


  • Lifetime Qt Champion

    Yes and yes. The private implementation might change from a version to another so you won't know how if it will break or not.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.