Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-67832

Windows build fails when certain features are disabled

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 5.9.5
    • None
    • Happens with both MSVC and MinGW.

    Description

      Disabling some features during configuration causes compilation errors in the Windows platform plugin and in the Widgets code.

      • `-no-feature-cursor` fails because while the fields are guarded in the header, they are unguarded in the implementation
      In file included from /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowswindow.h:44:0,
                       from /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp:40:
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowscursor.h:107:10: error: ‘void QWindowsCursor::changeCursor(QCursor*, QWindow*)’ marked ‘override’, but does not override
           void changeCursor(QCursor * widgetCursor, QWindow * widget) override;
                ^~~~~~~~~~~~
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp: In constructor ‘QWindowsWindow::QWindowsWindow(QWindow*, const QWindowsWindowData&)’:
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowswindow.cpp:1048:5: error: class ‘QWindowsWindow’ does not have any field named ‘m_cursor’
           m_cursor(new CursorHandle),
           ^~~~~~~~
      
      • `-no-feature-imageformat_xpm` fails because a disabled constructor is in use:
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowscursor.cpp: In member function ‘QPixmap QWindowsCursor::dragDefaultCursor(Qt::DropAction) const’:
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowscursor.cpp:722:62: error: no matching function for call to ‘QPixmap::QPixmap(const char* const [34])’
                   m_ignoreDragCursor = QPixmap(ignoreDragCursorXpmC);
                                                                    ^
      
      • `-no-feature-shortcut` fails because shortcuts are still used in Widgets:
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/widgets/dialogs/qwizard_win.cpp: In constructor ‘QVistaBackButton::QVistaBackButton(QWidget*)’:
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/widgets/dialogs/qwizard_win.cpp:82:53: error: ‘setShortcut’ was not declared in this scope
           setShortcut(QKeySequence(Qt::ALT | Qt::Key_Left));
                                                           ^
      
      • `-no-feature-draganddrop` together with `-no-feature-clipboard` disables some internal mime classes, used in the Windows platform plugin:
      In file included from /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowsinternalmimedata.cpp:40:0:
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowsinternalmimedata.h:53:59: error: expected class-name before ‘{’ token
       class QWindowsInternalMimeData : public QInternalMimeData {
                                                                 ^
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowsinternalmimedata.h:55:10: error: ‘bool QWindowsInternalMimeData::hasFormat_sys(const QString&) const’ marked ‘override’, but does not override
           bool hasFormat_sys(const QString &mimetype) const override;
                ^~~~~~~~~~~~~
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowsinternalmimedata.h:56:17: error: ‘QStringList QWindowsInternalMimeData::formats_sys() const’ marked ‘override’, but does not override
           QStringList formats_sys() const override;
                       ^~~~~~~~~~~
      /tmp/teszt/qt-everywhere-opensource-src-5.9.5/qtbase/src/plugins/platforms/windows/qwindowsinternalmimedata.h:57:14: error: ‘QVariant QWindowsInternalMimeData::retrieveData_sys(const QString&, QVariant::Type) const’ marked ‘override’, but does not override
           QVariant retrieveData_sys(const QString &mimetype, QVariant::Type preferredType) const override;
                    ^~~~~~~~~~~~~~~~
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            thiago Thiago Macieira
            mmatyas Mátyás Mustoha
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes