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

Unable to built qtdeclarative statically on windows using cl (error C2027: use of undefined type 'QQuickItemPrivate')

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Duplicate
    • Affects Version/s: 6.0.0 Beta4
    • Fix Version/s: None
    • Component/s: Build System: CMake
    • Labels:
      None
    • Platform/s:
      Windows

      Description

      continuation of https://bugreports.qt.io/browse/QTBUG-88080

      error:

      FAILED: src/plugins/qmltooling/qmldbg_preview/CMakeFiles/QQmlPreviewServiceFactory.dir/qqmlpreviewhandler.cpp.obj 
      C:\PROGRA~2\MIB055~1\2019\Preview\VC\Tools\MSVC\1428~1.295\bin\Hostx64\x64\cl.exe /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_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 -IE:\vcpkg_folders\qt6\buildtrees\qtdeclarative\src\.0.0-beta4-c1f5910b86.clean\src\plugins\qmltooling\qmldbg_preview -Isrc\plugins\qmltooling\qmldbg_preview -Iinclude -Isrc\plugins\qmltooling\packetprotocol -Iinclude\QtPacketProtocol\6.0.0 -Iinclude\QtPacketProtocol\6.0.0\QtPacketProtocol -Iinclude\QtPacketProtocol -Isrc\qml -Iinclude\QtQml\6.0.0 -Iinclude\QtQml\6.0.0\QtQml -Iinclude\QtQml -Isrc\quick -Iinclude\QtQuick\6.0.0 -Iinclude\QtQuick\6.0.0\QtQuick -Isrc\qmlmodels -Iinclude\QtQmlModels\6.0.0 -Iinclude\QtQmlModels\6.0.0\QtQmlModels -Iinclude\QtQmlModels -Iinclude\QtQuick -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtCore -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include -IE:\vcpkg_folders\qt6\installed\x64-windows-static\mkspecs\win32-msvc -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtCore\6.0.0 -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtCore\6.0.0\QtCore -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtGui -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtGui\6.0.0 -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtGui\6.0.0\QtGui -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtNetwork -IE:\vcpkg_folders\qt6\installed\x64-windows-static\include\QtOpenGL /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /D_DEBUG /MTd /Z7 /RTC1 -MTd /W3 /wd4530 /wd4577 -Zc:__cplusplus -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 /Fdplugins\qmltooling\Qt6QQmlPreviewServiceFactoryd.pdb /FS -c E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\src\.0.0-beta4-c1f5910b86.clean\src\plugins\qmltooling\qmldbg_preview\qqmlpreviewhandler.cpp
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): error C2027: use of undefined type 'QQuickItemPrivate'
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\src\.0.0-beta4-c1f5910b86.clean\src\quick\items\qquickwindow_p.h(81): note: see declaration of 'QQuickItemPrivate'
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(267): note: see reference to function template instantiation 'decltype(auto) getPrivateImpl<QQuickItemPrivate,T>(I &)' being compiled
       with
       [
       T=QQuickItem,
       I=QQuickItem
       ]
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(350): note: see reference to function template instantiation 'decltype(auto) getPrivate<QQuickItem>(T &)' being compiled
       with
       [
       T=QQuickItem
       ]
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(346): note: while compiling class template member function 'void QQuickPaletteProviderPrivateBase<QQuickWindow,QQuickWindowPrivate>::updateChildrenPalettes(const QPalette &)'
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\src\.0.0-beta4-c1f5910b86.clean\src\quick\items\qquickwindow_p.h(122): note: see reference to class template instantiation 'QQuickPaletteProviderPrivateBase<QQuickWindow,QQuickWindowPrivate>' being compiled
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): error C3861: 'get': identifier not found
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): error C3169: 'decltype(auto)': cannot deduce type for 'auto' from 'unknown-type'
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(267): error C3779: 'getPrivateImpl': a function that returns 'decltype(auto)' cannot be used before it is defined
      E:\vcpkg_folders\qt6\buildtrees\qtdeclarative\x64-windows-static-dbg\include\QtQuick\6.0.0\QtQuick\private\../../../../../../src/.0.0-beta4-c1f5910b86.clean/src/quick/items/qquickpaletteproviderprivatebase_p.h(259): note: see declaration of 'getPrivateImpl'

      Repro:

      git clone https://github.com/Neumann-A/vcpkg.git qt6vcpkg
      cd qt6vcpkg
      git checkout 72e8d122e402b7fd607a975b50e94ec483b2c808
      ./bootstrap-vcpkg.bat -disableMetrics -win64
      ./vcpkg.exe install qtdeclarative:x64-windows-static
      

      Compilers: VS 16.7.X | 16.8 | 16.9 Preview 1.0

      Switching to clang-cl.exe compiles the code fine. Dynamic builds are also working fine. 

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              qtbuildsystem Qt Build System Team
              Reporter:
              neumann-a Alexander Neumann
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes