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

QtDeclarative fails to compile in static build on MSVC2019

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P0: Blocker
    • Resolution: Done
    • Affects Version/s: 6.0.0 Beta4
    • Fix Version/s: 6.0.0
    • Labels:
      None
    • Platform/s:
      Windows
    • Commits:
      e0810d8052741f49d269514d40d683c45edfd975

      Description

      Forward declerations of QQuickItemPrivate and QQuickWindowPrivate in qquickpaletteproviderprivatebase_p.h seem to break with the templated code.

      FAILED: src/plugins/qmltooling/qmldbg_preview/CMakeFiles/QQmlPreviewServiceFactory.dir/qqmlpreviewhandler.cpp.obj
      C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1426~1.288\bin\Hostx64\x64\cl.exe  /nologo /TP -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_OPENGL_LIB -DQT_PACKETPROTOCOL_LIB -DQT_PLUGIN -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QUICK_LIB -DQT_STATICPLUGIN -DUNICODE -DWIN32 -DWIN64 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -Isrc\plugins\qmltooling\qmldbg_preview\QQmlPreviewServiceFactory_autogen\include -ID:\Code\qt6-super\qtdeclarative\src\plugins\qmltooling\qmldbg_preview -Isrc\plugins\qmltooling\qmldbg_preview -Isrc\plugins\qmltooling\packetprotocol -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtPacketProtocol\6.0.0 -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtPacketProtocol\6.0.0\QtPacketProtocol -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtPacketProtocol -Isrc\qml -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQml\6.0.0 -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQml\6.0.0\QtQml -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQml -Isrc\quick -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0 -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick -Isrc\qmlmodels -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQmlModels\6.0.0 -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQmlModels\6.0.0\QtQmlModels -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQmlModels -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtCore -ID:\Code\qt6-super\qtbase\mkspecs\win32-msvc -ID:\Code\qt6-cmake-static-msvc2019\qtbase\src\corelib -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtCore\6.0.0 -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtCore\6.0.0\QtCore -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtGui -ID:\SDK\VulkanSDK\1.2.148.1\Include -ID:\Code\qt6-cmake-static-msvc2019\qtbase\src\gui -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtGui\6.0.0 -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtGui\6.0.0\QtGui -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtNetwork -ID:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtOpenGL /DWIN32 /D_WINDOWS /GR /EHsc /DNDEBUG -O2 -MD /W3 /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -std:c++17 /showIncludes /Fosrc\plugins\qmltooling\qmldbg_preview\CMakeFiles\QQmlPreviewServiceFactory.dir\qqmlpreviewhandler.cpp.obj /FdD:\Code\qt6-cmake-static-msvc2019\qtbase\plugins\qmltooling\Qt6QQmlPreviewServiceFactory.pdb /FS -c D:\Code\qt6-super\qtdeclarative\src\plugins\qmltooling\qmldbg_preview\qqmlpreviewhandler.cpp
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): error C2027: use of undefined type 'QQuickItemPrivate'
      D:\Code\qt6-super\qtdeclarative\src\quick\items\qquickwindow_p.h(81): note: see declaration of 'QQuickItemPrivate'
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(267): note: see reference to function template instantiation 'decltype(auto) getPrivateImpl<QQuickItemPrivate,T>(I &)' being compiled
              [
                  T=QQuickItem,
                  I=QQuickItem
              ]
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(350): note: see reference to function template instantiation 'decltype(auto) getPrivate<QQuickItem>(T &)' being compiled
              with
              [
                  T=QQuickItem
              ]
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(346): note: while compiling class template member function 'void QQuickPaletteProviderPrivateBase<QQuickWindow,QQuickWindowPrivate>::updateChildrenPalettes(const QPalette &)'
      D:\Code\qt6-super\qtdeclarative\src\quick\items\qquickwindow_p.h(122): note: see reference to class template instantiation 'QQuickPaletteProviderPrivateBase<QQuickWindow,QQuickWindowPrivate>' being compiled
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): error C3861: 'get': identifier not found
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): error C3169: 'decltype(auto)': cannot deduce type for 'auto' from 'unknown-type'
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(267): error C3779: 'getPrivateImpl': a function that returns 'decltype(auto)' cannot be used before it is defined
      D:\Code\qt6-cmake-static-msvc2019\qtbase\include\QtQuick\6.0.0\QtQuick\private\../../../../../../../qt6-super/qtdeclarative/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): note: see declaration of 'getPrivateImpl'
      [907/1000] Building CXX object src\plugins\qmltooling\qmld...s\QQmlPreviewServiceFactory.dir\qqmlpreviewservice.cpp.obj
      ninja: build stopped: subcommand failed.
      

        Attachments

          Issue Links

          For Gerrit Dashboard: QTBUG-88457
          # Subject Branch Project Status CR V

            Activity

              People

              Assignee:
              fabiankosmale Fabian Kosmale
              Reporter:
              janichol Andy Nichols
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes