Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt 6.3.2 compilation issue
Qt 6.12 LTS is out! See what's new in the release blog

Qt 6.3.2 compilation issue

Scheduled Pinned Locked Moved Solved General and Desktop
5 Posts 3 Posters 1.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Cobra91151C Offline
    Cobra91151C Offline
    Cobra91151
    wrote on last edited by
    #1

    I want to build Qt 6.3.2 but it has a lot of issues during the compilation process.

    I use the following libs to build with Qt:

    1. MySQL (mysql-8.0.30)
    2. OpenSSL (openssl-1.1.1q)
    3. Zlib (zlib-win-build-1.2.12)

    My cmake batch command:

    cmake.exe --trace-expand --trace-redirect=cmake.trace -DCMAKE_BUILD_TYPE=%qtBuildMode% -DBUILD_SHARED_LIBS=OFF -DQT_BUILD_EXAMPLES=OFF -DCMAKE_PREFIX_PATH="C:\\LLVM\\x64\\static\\debug;" -DZLIB_INCLUDE_DIR="C:\\ZipDev\\zlib-win-build-1.2.12" -DZLIB_LIBRARY="C:\\ZipDev\\zlib-win-build-1.2.12\\build-VS2022-MT\\x64\\Debug\\libz-static.lib" -DZLIB_USE_STATIC_LIBS=ON -DINPUT_static_runtime=ON -DFEATURE_ltcg=OFF -DBUILD_qtwebengine=OFF -DOPENSSL_ROOT_DIR="%qtBuildOpenSSLRootPath%" -DFEATURE_openssl_linked=ON -DOPENSSL_USE_STATIC_LIBS=TRUE -DOPENSSL_MSVC_STATIC_RT=TRUE -DINPUT_sql_mysql=ON -DMySQL_INCLUDE_DIR="%qtBuildMySqlIncludeDirsPath%" -DMySQL_LIBRARY="%qtBuildMySqlLibsPath%" -DCMAKE_INSTALL_PREFIX="%qtBuildPath%" -G Ninja %qtBuildSourcePath%
    

    I have fixed many of them but still need to fix this one.

    [7197/9220] Linking CXX executable qtbase\bin\assistant.exe
    FAILED: qtbase/bin/assistant.exe
    cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=qttools\src\assistant\assistant\CMakeFiles\assistant.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests  -- C:\PROGRA~2\MICROS~3\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\assistant.rsp  /out:qtbase\bin\assistant.exe /implib:qttools\src\assistant\assistant\assistant.lib /pdb:qtbase\bin\assistant.pdb /version:0.0 /machine:x64 /debug /subsystem:windows  -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE  && cd ."
    LINK: command "C:\PROGRA~2\MICROS~3\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\assistant.rsp /out:qtbase\bin\assistant.exe /implib:qttools\src\assistant\assistant\assistant.lib /pdb:qtbase\bin\assistant.pdb /version:0.0 /machine:x64 /debug /subsystem:windows -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE /MANIFEST /MANIFESTFILE:qtbase\bin\assistant.exe.manifest" failed (exit code 1120) with the following output:
       Creating library qttools\src\assistant\assistant\assistant.lib and object qttools\src\assistant\assistant\assistant.exp
    mysqlclientMTd.lib(charset.obj) : error LNK2019: unresolved external symbol __std_init_once_link_alternate_names_and_abort referenced in function "void __cdecl std::call_once<void (__cdecl&)(void)>(struct std::once_flag &,void (__cdecl&)(void))" (??$call_once@A6AXXZ$$V@std@@YAXAEAUonce_flag@0@A6AXXZ@Z)
    mysqlclientMTd.lib(my_malloc.obj) : error LNK2001: unresolved external symbol __std_init_once_link_alternate_names_and_abort
    qtbase\bin\assistant.exe : fatal error LNK1120: 1 unresolved externals
    [7206/9220] Building CXX object qttools\src\designer\src\designer\CMakeFiles\designer.dir\cmake_pch.cxx.obj
    ninja: build stopped: subcommand failed.
    

    Any ideas what could cause such error? Thank you.

    1 Reply Last reply
    0
    • hskoglundH Offline
      hskoglundH Offline
      hskoglund
      wrote on last edited by
      #2

      Hi, building a static Qt in Debug mode is tricky, you could try a Release mode build.

      1 Reply Last reply
      0
      • TomZT Offline
        TomZT Offline
        TomZ
        wrote on last edited by
        #3

        I understand if you want to compile Qt, the libraries, static. But why are you building tools like assistant using that as well?

        If you need assistant and other tools, use the normal approach of dynamic libraries.

        Cobra91151C 1 Reply Last reply
        0
        • TomZT TomZ

          I understand if you want to compile Qt, the libraries, static. But why are you building tools like assistant using that as well?

          If you need assistant and other tools, use the normal approach of dynamic libraries.

          Cobra91151C Offline
          Cobra91151C Offline
          Cobra91151
          wrote on last edited by
          #4

          @hskoglund @TomZ

          Yes, it's a bit tricky. I think, I know how to fix this issue.
          I will reply tomorrow reqarding the solution. Thanks.

          1 Reply Last reply
          0
          • Cobra91151C Offline
            Cobra91151C Offline
            Cobra91151
            wrote on last edited by
            #5

            Hello!

            This issue with mysqlclientMTd.lib occurs due to the mismatch beween compiler versions as described here: https://developercommunity.visualstudio.com/t/__imp___std_init_once_complete-unresolve/1684365. This library was compiled with Visual Studio 2022 compiler.
            I used x64 Native Tools Command Prompt for VS 2019 to build Qt 6.3.2 which means it could not find this new function: __std_init_once_link_alternate_names_and_abort. This function is from STL’s import library: msvcprt.lib and was only added in the VS 2022 version: 17.2.5. So, I fixed this error by rebuilding this mysqlclientMTd.lib for VS 2019 compiler, since I need Qt 6.3.2 for VS 2019 compiler.

            Also, I have got another error, at this time with libz-static.lib in Release build:

            C:\QtBuild\qt-everywhere-src-6.3.2>cmake --build .
            [792/9220] Linking CXX executable qtbase\bin\rcc.exe
            FAILED: qtbase/bin/rcc.exe
            cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=qtbase\src\tools\rcc\CMakeFiles\rcc.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100220~1.0\x64\mt.exe --manifests  -- C:\PROGRA~2\MICROS~3\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo qtbase\src\tools\rcc\CMakeFiles\rcc.dir\rcc_autogen\mocs_compilation.cpp.obj qtbase\src\tools\rcc\CMakeFiles\rcc.dir\rcc_resource.rc.res qtbase\src\tools\rcc\CMakeFiles\rcc.dir\main.cpp.obj qtbase\src\tools\rcc\CMakeFiles\rcc.dir\rcc.cpp.obj  /out:qtbase\bin\rcc.exe /implib:qtbase\src\tools\rcc\rcc.lib /pdb:qtbase\bin\rcc.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console  -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE -OPT:REF -OPT:ICF -GUARD:CF  qtbase\lib\Qt6Core.lib  qtbase\lib\Qt6Core.lib  C:\\ZipDev\\zlib-win-build-1.2.12\\build-VS2022-MT\\x64\\Release\\libz-static.lib  synchronization.lib  mpr.lib  userenv.lib  advapi32.lib  authz.lib  kernel32.lib  netapi32.lib  ole32.lib  shell32.lib  user32.lib  uuid.lib  version.lib  winmm.lib  ws2_32.lib  runtimeobject.lib  qtbase\lib\Qt6BundledPcre2.lib  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
            LINK: command "C:\PROGRA~2\MICROS~3\2019\ENTERP~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo qtbase\src\tools\rcc\CMakeFiles\rcc.dir\rcc_autogen\mocs_compilation.cpp.obj qtbase\src\tools\rcc\CMakeFiles\rcc.dir\rcc_resource.rc.res qtbase\src\tools\rcc\CMakeFiles\rcc.dir\main.cpp.obj qtbase\src\tools\rcc\CMakeFiles\rcc.dir\rcc.cpp.obj /out:qtbase\bin\rcc.exe /implib:qtbase\src\tools\rcc\rcc.lib /pdb:qtbase\bin\rcc.pdb /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE -OPT:REF -OPT:ICF -GUARD:CF qtbase\lib\Qt6Core.lib qtbase\lib\Qt6Core.lib C:\\ZipDev\\zlib-win-build-1.2.12\\build-VS2022-MT\\x64\\Release\\libz-static.lib synchronization.lib mpr.lib userenv.lib advapi32.lib authz.lib kernel32.lib netapi32.lib ole32.lib shell32.lib user32.lib uuid.lib version.lib winmm.lib ws2_32.lib runtimeobject.lib qtbase\lib\Qt6BundledPcre2.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:qtbase\bin\rcc.exe.manifest" failed (exit code 1257) with the following output:
            libz-static.lib(compress.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
            fatal error C1900: Il mismatch between 'P1' version '20211014' and 'P2' version '20210202'
            LINK : fatal error LNK1257: code generation failed
            [800/9220] Automatic MOC for target Network
            AutoMoc: C:/QtBuild/qt-everywhere-src-6.3.2/qtbase/src/network/access/qnetworkaccessdebugpipebackend_p.h(0:1): note: No relevant classes found. No output generated.
            [801/9220] Building CXX object qtbase\src\tools\qlalr\CMakeFiles\qlalr.dir\cppgenerator.cpp.obj
            ninja: build stopped: subcommand failed.
            
            C:\QtBuild\qt-everywhere-src-6.3.2>
            

            So, to fix this error: fatal error C1900: Il mismatch between 'P1' version '20211014' and 'P2' version '20210202', I have to build the libz-static.lib for VS 2019 compiler as well. Now, everything compiles (debug/release) without any error. The issue is resolved.

            1 Reply Last reply
            1

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt
            • Unsolved