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.
  • 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