Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. General talk
  3. Qt 6
  4. Error on Qt 6 Building from source for Windows Based
Forum Updated to NodeBB v4.3 + New Features

Error on Qt 6 Building from source for Windows Based

Scheduled Pinned Locked Moved Solved Qt 6
59 Posts 9 Posters 20.3k Views 3 Watching
  • 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.
  • Christian EhrlicherC Offline
    Christian EhrlicherC Offline
    Christian Ehrlicher
    Lifetime Qt Champion
    wrote on last edited by Christian Ehrlicher
    #49

    Do you want to compile with MinGW or MSVC?
    If MinGW - why do you call MSVC batch files which set MSVC specific env vars?
    If MSVC - why do you call g++?

    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
    Visit the Qt Academy at https://academy.qt.io/catalog

    1 Reply Last reply
    0
    • N Offline
      N Offline
      NiVa99
      wrote on last edited by
      #50

      First want to call msvc VS2019 building arch amd64 x64 (done) and x86.
      Second doing same build with mingw last as documented. link text

      1 Reply Last reply
      0
      • Christian EhrlicherC Offline
        Christian EhrlicherC Offline
        Christian Ehrlicher
        Lifetime Qt Champion
        wrote on last edited by
        #51

        Still does not explain why you set MSVC env vars when trying to build with MinGW.

        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
        Visit the Qt Academy at https://academy.qt.io/catalog

        1 Reply Last reply
        0
        • N Offline
          N Offline
          NiVa99
          wrote on last edited by NiVa99
          #52

          Tyying this batch inspired from this post. I thank Chris Kawa.

          I thought it was to build with MSVC 2019.

          SET VS_ENVIRONMENT="c:\Program Files (x86)\Microsoft Visual Studio\2019\VC\Auxiliary\Build\vcvars64.bat"
          SET SRC_DIR="d:\Logiciels\Qt\6.2.2\Src"
          SET BUILD_DIR="d:\Logiciels\Qt\6.2.2\Build"
          SET INSTALL_DIR="d:\Logiciels\Qt\6.2.2\vs2019-x64"
          SET CONFIGURE_OPTIONS=-debug-and-release -mp -opensource -confirm-license
          
          call %VS_ENVIRONMENT%
          mkdir %BUILD_DIR%
          mkdir %INSTALL_DIR%
          cd %BUILD_DIR%
          call %SRC_DIR%\configure -prefix %INSTALL_DIR% %CONFIGURE_OPTIONS%
          cmake --build . --parallel
          cmake --install .
          cmake --install . --config Release
          cd %INSTALL_DIR%
          :: rmdir %BUILD_DIR% /Q /S
          pause
          

          I got these error, have to set WINVER and _WIN32_WINNT defines but how doing it ?

          Performing C++ SOURCE FILE Test HAVE_WIN10_WIN32_WINNT failed with the following output:
          Change Dir: D:/Logiciels/Qt/6.2.2/Build/CMakeFiles/CMakeTmp
          
          Run Build Command(s):C:/ninja-win/ninja.exe -f build-Release.ninja cmTC_9e6d0 && [1/2] Building CXX object CMakeFiles/cmTC_9e6d0.dir/Release/src.cxx.obj
          
          FAILED: CMakeFiles/cmTC_9e6d0.dir/Release/src.cxx.obj 
          
          C:\Strawberry\c\bin\c++.exe -DHAVE_WIN10_WIN32_WINNT -DCMAKE_INTDIR=\"Release\"  -O3 -DNDEBUG -std=gnu++17 -o CMakeFiles/cmTC_9e6d0.dir/Release/src.cxx.obj -c D:/Logiciels/Qt/6.2.2/Build/CMakeFiles/CMakeTmp/src.cxx
          
          D:/Logiciels/Qt/6.2.2/Build/CMakeFiles/CMakeTmp/src.cxx:6:10: error: #error "_WIN32_WINNT version **too low**"
                   #error "_WIN32_WINNT version too low"
                    ^~~~~
          D:/Logiciels/Qt/6.2.2/Build/CMakeFiles/CMakeTmp/src.cxx:9:10: error: #error "WINVER version too low"
                   #error "WINVER version too low"
                    ^~~~~
          ninja: build stopped: subcommand failed.
          
          
          

          microsoft modifying-winver-and-win32-winnt
          #define WINVER 0x0A00
          #define _WIN32_WINNT 0x0A00

          Do I have to modify CMakeLists.txt or is it possibe to pass these defines from batch ?
          Thank you

          1 Reply Last reply
          0
          • Chris KawaC Chris Kawa

            The error tells you what's wrong. Mingw sets _WIN32_WINNT and WINVER too low. I think Windows XP is its default and Qt6 requires at least Windows 10, so add defines for the appropriate versions in the configure params. Here are the values: WINVER and _WIN32_WINNT.

            N Offline
            N Offline
            NiVa99
            wrote on last edited by
            #53

            @Chris-Kawa

            So I understood but don't know where can i add those defines'param for a build MSVC, in the bat or in cmakelists.txt or ninja config ?

            post

            Thank you.

            1 Reply Last reply
            0
            • N Offline
              N Offline
              NiVa99
              wrote on last edited by
              #54

              It seems that it is well defined in qtbase\mkspecs\features\qt_module.prf|349| DEFINES *= _WIN32_WINNT=0x0A00

              Why only in this file ?Capture.PNG

              1 Reply Last reply
              0
              • Chris KawaC Offline
                Chris KawaC Offline
                Chris Kawa
                Lifetime Qt Champion
                wrote on last edited by
                #55

                @NiVa99 said:

                So I understood but don't know where can i add those defines'param for a build MSVC, in the bat or in cmakelists.txt or ninja config ?

                Sorry, but I'm completely confused now which build you're talking about. You're constantly mixing msvc, mingw and now ninja and I can't understand which errors you're getting from which build.

                Could you maybe focus on one and state clearly which is it?
                And don't modify any Qt files.

                1 Reply Last reply
                0
                • N Offline
                  N Offline
                  NiVa99
                  wrote on last edited by
                  #56

                  Building according to this note Building Qt 6 from sources
                  Requirements are CMake, Ninja, Perl, Python.

                  Build Qt from Sources I search for is doing it with MSVC 2019, VS2022 (and later Ming).

                  1 Reply Last reply
                  0
                  • kkoehneK Offline
                    kkoehneK Offline
                    kkoehne
                    Moderators
                    wrote on last edited by
                    #57

                    @NiVa99 said in Error on Qt 6 Building from source for Windows Based:

                    C:\Strawberry\c\bin\c++.exe

                    Remove C:\Strawberry\c\bin from your PATH environment variable, and try a clean build again.

                    Background: CMake prefers clang/gcc over MSVC, even on Windows. So if you have anything called clang.exe, c++.exe ... in your PATH cmake will try to use that for compilation. Anyhow, the binaries in C:\Strawberry\c\bin are only for internal use of Strawberry - at least they're not enough to compile Qt.

                    If you want to use MSVC, call vcvars64.bat like @Christian-Ehrlicher suggested. If you want to use MinGW, prefer one of the MinGW toolchains that are supported by Qt: https://wiki.qt.io/MinGW

                    Director R&D, The Qt Company

                    1 Reply Last reply
                    0
                    • N Offline
                      N Offline
                      NiVa99
                      wrote on last edited by
                      #58
                      This post is deleted!
                      1 Reply Last reply
                      0
                      • N Offline
                        N Offline
                        NiVa99
                        wrote on last edited by
                        #59

                        Thank you !

                        Following your advise, I comment llvm, clang, perl, g++ so thery are out of PATH env var ( and after some where verifications), then launch configure.bat as described by official doc step-4-build-the-qt-library from src path like that :

                        **********************************************************************
                        ** Visual Studio 2019 Developer Command Prompt v16.11.6
                        ** Copyright (c) 2021 Microsoft Corporation
                        **********************************************************************
                        [vcvarsall.bat] Environment initialized for: 'x64'
                        
                        C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional>d:
                        
                        D:\>cd Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>where where
                        C:\Windows\System32\where.exe
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>where clang
                        Information : impossible de trouver des fichiers pour le(s) modèle(s) spécifié(s).
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>where perl
                        Information : impossible de trouver des fichiers pour le(s) modèle(s) spécifié(s).
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>where ninja
                        C:\ninja-win\ninja.exe
                        C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>where g++
                        Information : impossible de trouver des fichiers pour le(s) modèle(s) spécifié(s).
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>where gcc
                        Information : impossible de trouver des fichiers pour le(s) modèle(s) spécifié(s).
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>where cmake
                        C:\CMake\bin\cmake.exe
                        C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe
                        
                        D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2>configure.bat
                        + cd qtbase
                        + D:\Logiciels\Qt\6.2.2\qt-everywhere-src-6.2.2\qtbase\configure.bat -top-level
                        

                        This is the CMakeError.log

                        Checking whether the ASM compiler is GNU using "--version" did not match "(GNU assembler)|(GCC)|(Free Software Foundation)":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande warning D9002 : option '--version' inconnue ignorée
                        cl : Ligne de commande error D8003 : nom de fichier de la source absent
                        Checking whether the ASM compiler is Clang using "--version" did not match "(clang version)":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande warning D9002 : option '--version' inconnue ignorée
                        cl : Ligne de commande error D8003 : nom de fichier de la source absent
                        Checking whether the ASM compiler is AppleClang using "--version" did not match "(Apple LLVM version)":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande warning D9002 : option '--version' inconnue ignorée
                        cl : Ligne de commande error D8003 : nom de fichier de la source absent
                        Checking whether the ASM compiler is ARMClang using "--version" did not match "armclang":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande warning D9002 : option '--version' inconnue ignorée
                        cl : Ligne de commande error D8003 : nom de fichier de la source absent
                        Checking whether the ASM compiler is HP using "-V" did not match "HP C":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande error D8004 : '/V' nécessite un argument
                        Checking whether the ASM compiler is Intel using "--version" did not match "(ICC)":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande warning D9002 : option '--version' inconnue ignorée
                        cl : Ligne de commande error D8003 : nom de fichier de la source absent
                        Checking whether the ASM compiler is IntelLLVM using "--version" did not match "(Intel[^
                        ]+oneAPI)":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande warning D9002 : option '--version' inconnue ignorée
                        cl : Ligne de commande error D8003 : nom de fichier de la source absent
                        Checking whether the ASM compiler is SunPro using "-V" did not match "Sun C":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande error D8004 : '/V' nécessite un argument
                        Checking whether the ASM compiler is XL using "-qversion" did not match "XL C":
                        Compilateur d'optimisation Microsoft (R) C/C++ version 19.29.30137 pour x64
                        Copyright (C) Microsoft Corporation. Tous droits réservés.
                        
                        cl : Ligne de commande warning D9002 : option '-qversion' inconnue ignorée
                        cl : Ligne de commande error D8003 : nom de fichier de la source absent
                        
                        

                        Amazing.

                        1 Reply Last reply
                        0

                        • Login

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