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

qtconcurrent examples not compiling with native WoA binaries

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • None
    • 6.2.9, 6.5.0, 6.5.1
    • Build tools: Other
    • Windows11 ARM64
      Visual Studio 2022
    • Windows

    Description

      Have Qt 6.5.1 sources, compile Windows on ARM binaries natively, using MSVC2022 and skipping unsupported modules:

      cmake -DQT_BUILD_EXAMPLES=FALSE -DCMAKE_BUILD_TYPE=Release -DDEVELOPER_MODE=YES -DQT_BUILD_TESTS_BY_DEFAULT=OFF -DBUILD_qtwebengine=FALSE -DBUILD_qtquickeffectmaker=FALSE -DBUILD_qtwayland=FALSE -DBUILD_qttranslations=FALSE -DBUILD_qtdoc=FALSE -DBUILD_qtwebview=FALSE C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src -DCMAKE_INSTALL_PREFIX:PATH=C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase 

      Compile qtconcurrent examples using binaries in C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase, e.g. qtconcurrent\imagescaling:

      qt-cmake -S C:\Users\qt\RTA\Qt_6.5.1\Examples\Qt-6.5.1\qtconcurrent\imagescaling -B C:\Users\qt\RTA\Qt_6.5.1\Examples\Qt-6.5.1\qtconcurrent\imagescaling\bld -GNinja 

      Fails:

      [1/6] Automatic MOC and UIC for target imagescaling
      [2/6] Building CXX object CMakeFiles\imagescaling.dir\downloaddialog.cpp.obj
      [3/6] Building CXX object CMakeFiles\imagescaling.dir\main.cpp.obj
      [4/6] Building CXX object CMakeFiles\imagescaling.dir\imagescaling_autogen\mocs_compilation.cpp.obj
      [5/6] Building CXX object CMakeFiles\imagescaling.dir\imagescaling.cpp.obj
      [6/6] Linking CXX executable imagescaling.exe
      FAILED: imagescaling.exe 
      cmd.exe /C "cd . && "C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\imagescaling.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\arm64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100226~1.0\arm64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~4\2022\PROFES~1\VC\Tools\MSVC\1435~1.322\bin\HOSTAR~1\arm64\link.exe /nologo CMakeFiles\imagescaling.dir\imagescaling_autogen\mocs_compilation.cpp.obj CMakeFiles\imagescaling.dir\downloaddialog.cpp.obj CMakeFiles\imagescaling.dir\imagescaling.cpp.obj CMakeFiles\imagescaling.dir\main.cpp.obj  /out:imagescaling.exe /implib:imagescaling.lib /pdb:imagescaling.pdb /version:0.0 /machine:ARM64 /debug /INCREMENTAL /subsystem:windows  -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE  C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Concurrent.lib  C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Network.lib  C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Widgets.lib  ws2_32.lib  C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Gui.lib  C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Core.lib  mpr.lib  userenv.lib  C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6EntryPoint.lib  shell32.lib  d3d11.lib  dxgi.lib  dxguid.lib  dcomp.lib  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
      LINK Pass 1: command "C:\PROGRA~1\MICROS~4\2022\PROFES~1\VC\Tools\MSVC\1435~1.322\bin\HOSTAR~1\arm64\link.exe /nologo CMakeFiles\imagescaling.dir\imagescaling_autogen\mocs_compilation.cpp.obj CMakeFiles\imagescaling.dir\downloaddialog.cpp.obj CMakeFiles\imagescaling.dir\imagescaling.cpp.obj CMakeFiles\imagescaling.dir\main.cpp.obj /out:imagescaling.exe /implib:imagescaling.lib /pdb:imagescaling.pdb /version:0.0 /machine:ARM64 /debug /INCREMENTAL /subsystem:windows -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Concurrent.lib C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Network.lib C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Widgets.lib ws2_32.lib C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Gui.lib C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6Core.lib mpr.lib userenv.lib C:\Users\qt\RTA\Qt_6.5.1\6.5.1\Src\qtbase\lib\Qt6EntryPoint.lib shell32.lib d3d11.lib dxgi.lib dxguid.lib dcomp.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\imagescaling.dir/intermediate.manifest CMakeFiles\imagescaling.dir/manifest.res" failed (exit code 1120) with the following output:
      MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
      imagescaling.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ) referenced in function "public: class QList<class QImage> const & __cdecl QFutureInterface<class QList<class QImage> >::resultReference(int)const " (?resultReference@?$QFutureInterface@V?$QList@VQImage@@@@@@QEBAAEBV?$QList@VQImage@@@@H@Z)
      imagescaling.exe : fatal error LNK1120: 1 unresolved externals
      ninja: build stopped: subcommand failed. 

      Other examples are getting compiled, so seems that in general the binaries work.

      Another test that uses pre-build WoA binaries (cross compiled) from installer and compiles examples, is able to compile also qtconcurrent examples.

      Reproduces also with Qt 6.5.0.

      Attachments

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

        Activity

          People

            owolff Oliver Wolff
            joaijala Johanna Äijälä
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes