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.0k 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.
  • LematL Lemat

    should i set a real compiler path in the system environment variable CXX ?? i don't know the real compiler file name. my actual Qt 5.15.2 has detected it automatically. i am looking in her settings to find the compiler file name, but nothing.

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #20

    @Lemat I don't think so. It should work as described on that web page. I don't know why it doesn't work for you.

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • LematL Offline
      LematL Offline
      Lemat
      wrote on last edited by
      #21

      i really need help for that. i tried anything, but nothing. Maybe cmake version ?

      Time to elevate.

      1 Reply Last reply
      0
      • LematL Offline
        LematL Offline
        Lemat
        wrote on last edited by
        #22

        Tools used:
        Cmake version: 3.18.4 x64
        Python: 3.7.3 x64
        ActivePerl: 5.28 x64
        Ninja: 1.10.2

        Time to elevate.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #23

          Hi,

          IIRC, cmake 3.19.2 or newer is recommended but I don't have the source at hand.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          LematL 1 Reply Last reply
          0
          • SGaistS SGaist

            Hi,

            IIRC, cmake 3.19.2 or newer is recommended but I don't have the source at hand.

            LematL Offline
            LematL Offline
            Lemat
            wrote on last edited by
            #24

            @SGaist

            Can you explain more ?

            Time to elevate.

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #25

              You should update your cmake version.

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              LematL 1 Reply Last reply
              0
              • SGaistS SGaist

                You should update your cmake version.

                LematL Offline
                LematL Offline
                Lemat
                wrote on last edited by
                #26

                @SGaist

                Okay. let me try. i am downloading cmake 3.19.3

                Time to elevate.

                1 Reply Last reply
                0
                • LematL Offline
                  LematL Offline
                  Lemat
                  wrote on last edited by
                  #27

                  i tried with cmake 3.19.3, problem still exist

                  Time to elevate.

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #28

                    Did you restart from a clean state ?

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    LematL 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      Did you restart from a clean state ?

                      LematL Offline
                      LematL Offline
                      Lemat
                      wrote on last edited by
                      #29

                      @SGaist yes. i did it. but the problem still exist

                      Time to elevate.

                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #30

                        What did you do to ensure a clean state ?

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • LematL Offline
                          LematL Offline
                          Lemat
                          wrote on last edited by
                          #31

                          I Installed Qt 6.0.1 with the online Installer. Too bad for me. Many features such as QWebEngine are removed

                          Time to elevate.

                          eyllanescE 1 Reply Last reply
                          0
                          • LematL Lemat

                            I Installed Qt 6.0.1 with the online Installer. Too bad for me. Many features such as QWebEngine are removed

                            eyllanescE Offline
                            eyllanescE Offline
                            eyllanesc
                            wrote on last edited by
                            #32

                            @Lemat That and other modules will be added in the new versions during the year, read https://www.qt.io/blog/add-on-support-in-qt-6.0-and-beyond. So you have 2 options: 1) wait or 2) manually compile the modules

                            If you want me to help you develop some work then you can write to my email: e.yllanescucho@gmal.com.

                            LematL 1 Reply Last reply
                            0
                            • eyllanescE eyllanesc

                              @Lemat That and other modules will be added in the new versions during the year, read https://www.qt.io/blog/add-on-support-in-qt-6.0-and-beyond. So you have 2 options: 1) wait or 2) manually compile the modules

                              LematL Offline
                              LematL Offline
                              Lemat
                              wrote on last edited by
                              #33

                              @eyllanesc ,that is okay !. i just leaned on doc.qt.io. Waiting is the best option for me after failing on this subject title. laugh.

                              Time to elevate.

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

                                Use 5.15 and you're fine. Don't know why everyone needs to use Qt6 when it's documented that it's not feature complete... Qt6 does not have any advantage for an average user at the current state.

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

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

                                  This is the do_it.bat I'm using to build Qt6. Adjust the paths and configure options at the top to whatever you like. You only need to have CMake in PATH, nothing else, or you can just spell out its path right in the bat script.

                                  SET VS_ENVIRONMENT="C:\Program Files (x86)\Microsoft Visual Studio 2019\VC\Auxiliary\Build\vcvars64.bat"
                                  SET SRC_DIR="C:\Qt\6.0.1\Src"
                                  SET BUILD_DIR="C:\Qt\6.0.1\Build"
                                  SET INSTALL_DIR="C:\Qt\6.0.1\msvc2019_64"
                                  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 Debug
                                  cd %INSTALL_DIR%
                                  rmdir %BUILD_DIR% /Q /S
                                  pause
                                  

                                  This builds Qt out of source (the only sane way to do it cleanly), copies result to the install directory and removes the temporary build directory (which can get huuuge if you're building everything).

                                  Some notes on the discussion points above:

                                  • Depending on your version of VS (Pro, Cmmunity etc.) the VS install dir will look a bit different. If in doubt just find "x64 Native Tools Command Prompt for VS 2019" shortcut in your start menu and see where it points to
                                  • There are couple of different .bats to set VS environment. For x64 build use either vcvarsall.bat amd64 or a shortcut vcvars64.bat
                                  • Keep source and build directories next to each other e.g. <some path>\src and <some path>\build. Theoretically it should be possible to build out of source to anywhere, but I've had multiple problems with mismatched number of .. and the likes in the past so keep it this way just to make it easier for yourself.
                                  • It's a good idea to exclude whichever modules you don't need in configure options e.g. -skip qtdatavis3d. I usually use only about 3-5 modules and exclude everything else, which cuts down compilation time and output size immensely.
                                  LematL 1 Reply Last reply
                                  1
                                  • Christian EhrlicherC Christian Ehrlicher

                                    Use 5.15 and you're fine. Don't know why everyone needs to use Qt6 when it's documented that it's not feature complete... Qt6 does not have any advantage for an average user at the current state.

                                    LematL Offline
                                    LematL Offline
                                    Lemat
                                    wrote on last edited by
                                    #36

                                    @Christian-Ehrlicher you are right !

                                    Time to elevate.

                                    1 Reply Last reply
                                    0
                                    • Chris KawaC Chris Kawa

                                      This is the do_it.bat I'm using to build Qt6. Adjust the paths and configure options at the top to whatever you like. You only need to have CMake in PATH, nothing else, or you can just spell out its path right in the bat script.

                                      SET VS_ENVIRONMENT="C:\Program Files (x86)\Microsoft Visual Studio 2019\VC\Auxiliary\Build\vcvars64.bat"
                                      SET SRC_DIR="C:\Qt\6.0.1\Src"
                                      SET BUILD_DIR="C:\Qt\6.0.1\Build"
                                      SET INSTALL_DIR="C:\Qt\6.0.1\msvc2019_64"
                                      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 Debug
                                      cd %INSTALL_DIR%
                                      rmdir %BUILD_DIR% /Q /S
                                      pause
                                      

                                      This builds Qt out of source (the only sane way to do it cleanly), copies result to the install directory and removes the temporary build directory (which can get huuuge if you're building everything).

                                      Some notes on the discussion points above:

                                      • Depending on your version of VS (Pro, Cmmunity etc.) the VS install dir will look a bit different. If in doubt just find "x64 Native Tools Command Prompt for VS 2019" shortcut in your start menu and see where it points to
                                      • There are couple of different .bats to set VS environment. For x64 build use either vcvarsall.bat amd64 or a shortcut vcvars64.bat
                                      • Keep source and build directories next to each other e.g. <some path>\src and <some path>\build. Theoretically it should be possible to build out of source to anywhere, but I've had multiple problems with mismatched number of .. and the likes in the past so keep it this way just to make it easier for yourself.
                                      • It's a good idea to exclude whichever modules you don't need in configure options e.g. -skip qtdatavis3d. I usually use only about 3-5 modules and exclude everything else, which cuts down compilation time and output size immensely.
                                      LematL Offline
                                      LematL Offline
                                      Lemat
                                      wrote on last edited by
                                      #37

                                      @Chris-Kawa thanks. interesting to try !.

                                      Time to elevate.

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

                                        Hi,

                                        Trying do_it.bat with VS2019 and Qt source 6.2.2 for x64 binaries (or following Qt Buidling from source) directives,
                                        I got these errors:

                                        Can you help me ?

                                        Thank you
                                        NiVa

                                        Either set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation.
                                        On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution.
                                        On macOS, you can use Homebrew's llvm package.
                                        You will also need to set the FEATURE_clang CMake variable to ON to re-evaluate this check.
                                        WARNING: Clang-based lupdate parser will not be available. LLVM and Clang C++ libraries have not been found.
                                        You will need to set the FEATURE_clangcpp CMake variable to ON to re-evaluate this check.
                                        WARNING: QtWebEngine won't be built. Tool gperf is required.
                                        WARNING: QtPdf won't be built. Tool gperf is required.
                                        
                                        Qt is now configured for building. Just run 'cmake --build . --parallel'
                                        
                                        Once everything is built, you must run 'ninja install'
                                        Qt will be installed into 'C:/Qt/6.2.2/msvc2019_64'
                                        
                                        To configure and build other Qt modules, you can use the following convenience script:
                                                C:/Qt/6.2.2/msvc2019_64/bin/qt-configure-module.bat
                                        
                                        If reconfiguration fails for some reason, try to remove 'CMakeCache.txt' from the build directory
                                        
                                        -- Configuring incomplete, errors occurred!
                                        See also "C:/Qt/6.2.2/Build/CMakeFiles/CMakeOutput.log".
                                        See also "C:/Qt/6.2.2/Build/CMakeFiles/CMakeError.log".
                                        CMake Error at C:/Qt/6.2.2/src/qtbase/cmake/QtProcessConfigureArgs.cmake:947 (message):
                                          CMake exited with code 1.
                                        
                                        
                                        ninja: error: loading 'build.ninja': Le fichier spÚcifiÚ est introuvable.
                                        
                                        CMake Error: Error processing file: C:/Qt/6.2.2/Build/cmake_install.cmake
                                        

                                        Notice that directory C:/Qt/6.2.2/Build disappear at this moment building.
                                        Here is and extract of CMakeError :

                                        Performing C++ SOURCE FILE Test HAVE_ICONV failed with the following output:
                                        Change Dir: C:/Qt/6.2.2/Build/CMakeFiles/CMakeTmp
                                        
                                        Run Build Command(s):C:/ninja-win/ninja.exe -f build-Release.ninja cmTC_50daa && [1/2] Building CXX object CMakeFiles/cmTC_50daa.dir/Release/src.cxx.obj
                                        
                                        [2/2] Linking CXX executable Release\cmTC_50daa.exe
                                        
                                        FAILED: Release/cmTC_50daa.exe 
                                        
                                        cmd.exe /C "cd . && C:\Strawberry\c\bin\c++.exe -DNDEBUG -O2  CMakeFiles/cmTC_50daa.dir/Release/src.cxx.obj -o Release\cmTC_50daa.exe -Wl,--out-implib,Release\libcmTC_50daa.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
                                        
                                        C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libiconv.a(localcharset.o):localcharset.c:(.text+0x63): undefined reference to `__imp_GetACP'
                                        
                                        collect2.exe: error: ld returned 1 exit status
                                        ninja: build stopped: subcommand failed.
                                        
                                        
                                        
                                        Source file was:
                                        #include <iconv.h>
                                        
                                        int main(int, char **)
                                        {
                                            iconv_t x = iconv_open("", "");
                                            iconv_close(x);
                                            return 0;
                                        }
                                        Performing C++ SOURCE FILE Test HAVE_ICONV_WITH_LIB failed with the following output:
                                        Change Dir: C:/Qt/6.2.2/Build/CMakeFiles/CMakeTmp
                                        
                                        Run Build Command(s):C:/ninja-win/ninja.exe -f build-Release.ninja cmTC_67c23 && [1/2] Building CXX object CMakeFiles/cmTC_67c23.dir/Release/src.cxx.obj
                                        
                                        [2/2] Linking CXX executable Release\cmTC_67c23.exe
                                        
                                        FAILED: Release/cmTC_67c23.exe 
                                        
                                        cmd.exe /C "cd . && C:\Strawberry\c\bin\c++.exe -DNDEBUG -O2  CMakeFiles/cmTC_67c23.dir/Release/src.cxx.obj -o Release\cmTC_67c23.exe -Wl,--out-implib,Release\libcmTC_67c23.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
                                        
                                        C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libiconv.a(localcharset.o):localcharset.c:(.text+0x63): undefined reference to `__imp_GetACP'
                                        
                                        collect2.exe: error: ld returned 1 exit status
                                        ninja: build stopped: subcommand failed.
                                        
                                        
                                        
                                        Source file was:
                                        #include <iconv.h>
                                        
                                        int main(int, char **)
                                        {
                                            iconv_t x = iconv_open("", "");
                                            iconv_close(x);
                                            return 0;
                                        }
                                        Performing C++ SOURCE FILE Test HAVE_uacpp failed with the following output:
                                        Change Dir: C:/Qt/6.2.2/Build/CMakeFiles/CMakeTmp
                                        
                                        Run Build Command(s):C:/ninja-win/ninja.exe -f build-Release.ninja cmTC_ab42c && [1/2] Building CXX object CMakeFiles/cmTC_ab42c.dir/Release/src.cxx.obj
                                        
                                        FAILED: CMakeFiles/cmTC_ab42c.dir/Release/src.cxx.obj 
                                        
                                        C:\Strawberry\c\bin\c++.exe -DHAVE_uacpp -DCMAKE_INTDIR=\"Release\"  -DNDEBUG -O2 -std=gnu++17 -o CMakeFiles/cmTC_ab42c.dir/Release/src.cxx.obj -c C:/Qt/6.2.2/Build/CMakeFiles/CMakeTmp/src.cxx
                                        
                                        C:/Qt/6.2.2/Build/CMakeFiles/CMakeTmp/src.cxx:3:10: fatal error: uaplatformlayer.h: No such file or directory
                                         #include <uaplatformlayer.h>
                                                  ^~~~~~~~~~~~~~~~~~~
                                        compilation terminated.
                                        
                                        ninja: build stopped: subcommand failed.
                                        
                                        
                                        
                                        Source file was:
                                         #include <stdio.h>
                                        
                                        #include <uaplatformlayer.h>
                                        #include <uastring.h>
                                        #include <uasession.h>
                                        
                                        using namespace UaClientSdk;
                                        
                                        int main(int /*argc*/, char ** /*argv*/)
                                        {
                                        
                                            UaPlatformLayer::init();
                                            UaSession *session = new UaSession;
                                        
                                            UaPlatformLayer::cleanup();
                                            return 0;
                                        }
                                        
                                        
                                        1 Reply Last reply
                                        0
                                        • Chris KawaC Offline
                                          Chris KawaC Offline
                                          Chris Kawa
                                          Lifetime Qt Champion
                                          wrote on last edited by Chris Kawa
                                          #39

                                          @NiVa99 The bat is explicitly for msvc. Your errors seem to come from using clang without environment set up for it. The path has msvc2019_64 in it and your build errors are from gcc/mingw.

                                          You seem to have completely mixed up environment for those three different compilers. Which one do you actually want to use - msvc, clang or gcc/mingw ?

                                          Notice that directory C:/Qt/6.2.2/Build disappear at this moment building.

                                          Well yeah, because it's a temporary build directory and the bat removes it after the install: rmdir %BUILD_DIR% /Q /S. If you want it to stay just modify the bat and remove or comment out that line.

                                          1 Reply Last reply
                                          2

                                          • Login

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