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

Regression: Qt 5 tools no longer built due to static plugin breakage

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.0.0 RC 1
    • Fix Version/s: 5.0.0 RC 1
    • Component/s: Core: Plugins
    • Labels:
      None
    • Environment:
      Linux, g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
    • Commits:
      861786bb502570b12f5d50c0d48cb4ecbe6d0238

      Description

      Change 819d0203e6fd9d27dc4c22e8c3cb8b437998f62a (Use qualified name for QT_MOC_EXPORT_PLUGIN()) breaks compilation of Qt Designer:

      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: 'qt_plugin_instance_qdesigner_internal' has not been declared
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: 'qt_plugin_query_metadata_qdesigner_internal' has not been declared
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp: In function 'const char* SignalSlotEditorPlugin()':
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: new declaration 'const char* SignalSlotEditorPlugin()'
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: ambiguates old declaration 'QObject* SignalSlotEditorPlugin()'
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp: At global scope:
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: 'qt_static_plugin_qdesigner_internal' has not been declared
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp: In function 'const QStaticPlugin SignalSlotEditorPlugin()':
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: new declaration 'const QStaticPlugin SignalSlotEditorPlugin()'
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: ambiguates old declaration 'QObject* SignalSlotEditorPlugin()'
      .moc/debug-shared/moc_signalsloteditor_plugin.cpp:199: error: 'qt_plugin_instance_qdesigner_internal' has not been declared

      which blocks https://codereview.qt-project.org/#change,33862 and release package building.

      The expanded macro looks like:

      using namespace qdesigner_internal;
      static ::QObject *qt_plugin_instance_qdesigner_internal::SignalSlotEditorPlugin()
      {
      static ::QPointer< ::QObject> _instance;
      if (!_instance)
      _instance = new qdesigner_internal::SignalSlotEditorPlugin; return _instance;
      }

      static const char *qt_plugin_query_metadata_qdesigner_internal::SignalSlotEditorPlugin()
      {
      return (const char *)qt_pluginMetaData;
      }

      const ::QStaticPlugin qt_static_plugin_qdesigner_internal::SignalSlotEditorPlugin()
      {
      ::QStaticPlugin plugin =

      { qt_plugin_instance_qdesigner_internal::SignalSlotEditorPlugin, qt_plugin_query_metadata_qdesigner_internal::SignalSlotEditorPlugin}

      ;
      return plugin;
      }

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              kleint Friedemann Kleint
              Reporter:
              kleint Friedemann Kleint
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes