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.1k 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.
  • N Offline
    N Offline
    NiVa99
    wrote on last edited by
    #47
    This post is deleted!
    1 Reply Last reply
    0
    • N Offline
      N Offline
      NiVa99
      wrote on last edited by
      #48
      This post is deleted!
      1 Reply Last reply
      0
      • 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