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

D-Bus adaptor example does not actually build

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.11.2
    • 5.11.1
    • Documentation
    • None
    • Fedora 28
    • Linux/X11
    • 023a818738d64da01ebecc5d4a26356055ba0021

    Description

      http://doc.qt.io/qt-5/qdbusadaptorexample.html

      src/dbus/doc/snippets/code/doc_src_qdbusadaptors.cpp

      This example code does not actually build.

      This embarrasses beginners.

       

      After adding

      #include <QApplication>
      #include <QDBusAbstractAdaptor>
      #include <QDBusConnection>

      Following error shown:

      g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib64/qt5/mkspecs/linux-g++ -o dbusadaptor.o dbusadaptor.cpp
      dbusadaptor.cpp: In member function 'QString MainApplicationAdaptor::caption()':
      dbusadaptor.cpp:77:18: error: 'class QApplication' has no member named 'hasMainWindow'; did you mean 'activeWindow'?
               if (app->hasMainWindow())
                        ^~~~~~~~~~~~~
                        activeWindow
      dbusadaptor.cpp:78:25: error: 'class QApplication' has no member named 'mainWindow'; did you mean 'allWindows'?
                   return app->mainWindow()->caption();
                               ^~~~~~~~~~
                               allWindows
      dbusadaptor.cpp: In member function 'void MainApplicationAdaptor::setCaption(const QString&)':
      dbusadaptor.cpp:84:18: error: 'class QApplication' has no member named 'hasMainWindow'; did you mean 'activeWindow'?
               if (app->hasMainWindow())
                        ^~~~~~~~~~~~~
                        activeWindow
      dbusadaptor.cpp:85:18: error: 'class QApplication' has no member named 'mainWindow'; did you mean 'allWindows'?
                   app->mainWindow()->setCaption(newCaption);
                        ^~~~~~~~~~
                        allWindows
      dbusadaptor.cpp: In member function 'void MainApplicationAdaptor::reparseConfiguration()':
      dbusadaptor.cpp:103:12: error: 'class QApplication' has no member named 'reparseConfiguration'
           { app->reparseConfiguration(); }
                  ^~~~~~~~~~~~~~~~~~~~
      dbusadaptor.cpp: In member function 'QString MainApplicationAdaptor::mainWindowObject()':
      dbusadaptor.cpp:107:18: error: 'class QApplication' has no member named 'hasMainWindow'; did you mean 'activeWindow'?
               if (app->hasMainWindow())
                        ^~~~~~~~~~~~~
                        activeWindow
      dbusadaptor.cpp: In member function 'void MainApplicationAdaptor::setSessionManagement(bool)':
      dbusadaptor.cpp:115:17: error: 'class QApplication' has no member named 'enableSessionManagement'
                  app->enableSessionManagement();
                       ^~~~~~~~~~~~~~~~~~~~~~~
      dbusadaptor.cpp:117:17: error: 'class QApplication' has no member named 'disableSessionManagement'
                  app->disableSessionManagement();
                       ^~~~~~~~~~~~~~~~~~~~~~~~
      dbusadaptor.cpp: In member function 'void MainApplicationAdaptor::focusChangedSlot(QWidget*, QWidget*)':
      dbusadaptor.cpp:123:25: error: 'class QApplication' has no member named 'mainWindow'; did you mean 'allWindows'?
               if (now == app->mainWindow())
                               ^~~~~~~~~~
                               allWindows
      dbusadaptor.cpp: At global scope:
      dbusadaptor.cpp:135:1: error: 'interface' does not name a type
       interface org.kde.DBus.MainApplication
       ^~~~~~~~~
      dbusadaptor.cpp: In function 'int main(int, char**)':
      dbusadaptor.cpp:159:35: error: no matching function for call to 'MainApplicationAdaptor::MainApplicationAdaptor(QApplication&)'
           new MainApplicationAdaptor(app);
                                         ^
      dbusadaptor.cpp:67:5: note: candidate: 'MainApplicationAdaptor::MainApplicationAdaptor(QApplication*)'
           MainApplicationAdaptor(QApplication *application)
           ^~~~~~~~~~~~~~~~~~~~~~
      dbusadaptor.cpp:67:5: note:   no known conversion for argument 1 from 'QApplication' to 'QApplication*'
      dbusadaptor.cpp:165:6: error: expected identifier before '...' token
           [...]
            ^~~
      dbusadaptor.cpp: In lambda function:
      dbusadaptor.cpp:167:5: error: expected '{' before 'app'
           app.exec();
           ^~~
      dbusadaptor.cpp: In function 'int main(int, char**)':
      dbusadaptor.cpp:165:10: error: expected ';' before 'app'
           [...]
                ^
                ;
      dbusadaptor.cpp:167:5:
           app.exec();
           ~~~
      dbusadaptor.cpp: At global scope:
      dbusadaptor.cpp:173:7: error: redefinition of 'class MainApplicationAdaptor'
       class MainApplicationAdaptor: public QDBusAbstractAdaptor
             ^~~~~~~~~~~~~~~~~~~~~~
      dbusadaptor.cpp:55:7: note: previous definition of 'class MainApplicationAdaptor'
       class MainApplicationAdaptor: public QDBusAbstractAdaptor
             ^~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/qt5/QtCore/qglobal.h:99,
                       from /usr/include/qt5/QtGui/qtguiglobal.h:43,
                       from /usr/include/qt5/QtWidgets/qtwidgetsglobal.h:43,
                       from /usr/include/qt5/QtWidgets/qapplication.h:43,
                       from /usr/include/qt5/QtWidgets/QApplication:1,
                       from dbusadaptor.cpp:50:
      dbusadaptor.cpp:175:5: error: expected unqualified-id before end of line
           Q_OBJECT
           ^~~~~~~~
      dbusadaptor.cpp:175:5: error: expected declaration before end of line
      make: *** [Makefile:419: dbusadaptor.o] Error 1

      Attachments

        Issue Links

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

          Activity

            People

              paulwicking Paul Wicking
              cheese Ruibin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes