Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler
Forum Updated to NodeBB v4.3 + New Features

Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
buildqt6mingw 64 bit
19 Posts 4 Posters 4.9k 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.
  • cristian-adamC cristian-adam

    Qt 6.6.2 is being released with a MinGW build.

    At https://testresults.qt.io/coin/integration/qt/qtmultimedia/tasks/1707528820 I can see a qtmultimedia 6.6.2 integration.

    windows-10_22h2-mingw11 raw log has:

    agent:2024/02/10 00:14:45 build.go:795: Executing instruction 59 of 97 - ExecuteCommand
    agent:2024/02/10 00:14:45 build.go:427: [\Users\qt\work\install\bin\qt-configure-module.bat \Users\qt\work\qt\qtmultimedia -- -DFFMPEG_DIR=C:\ffmpeg-n6.1\build\mingw\installed -DFEATURE_native_grpc=OFF -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DQT_BUILD_TESTS=OFF -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache] 1h40m0s 20m0s false false
    agent:2024/02/10 00:14:45 build.go:404: 'C:\Users\qt\work\install\bin\\qt-cmake-private.bat' '-DFFMPEG_DIR=C:\ffmpeg-n6.1\build\mingw\installed' '-DFEATURE_native_grpc=OFF' '-DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c' '-DQT_BUILD_TESTS=OFF' '-DCMAKE_AUTOGEN_VERBOSE=ON' '-DCMAKE_MESSAGE_LOG_LEVEL=STATUS' '-DCMAKE_C_COMPILER_LAUNCHER=sccache' '-DCMAKE_CXX_COMPILER_LAUNCHER=sccache' '-DQT_INTERNAL_CALLED_FROM_CONFIGURE:BOOL=TRUE' 'C:/Users/qt/work/qt/qtmultimedia'
    agent:2024/02/10 00:14:48 build.go:404: -- The CXX compiler identification is GNU 11.2.0
    agent:2024/02/10 00:14:51 build.go:404: -- The C compiler identification is GNU 11.2.0
    agent:2024/02/10 00:14:51 build.go:404: -- Detecting CXX compiler ABI info
    agent:2024/02/10 00:14:52 build.go:404: -- Detecting CXX compiler ABI info - done
    agent:2024/02/10 00:14:52 build.go:404: -- Check for working CXX compiler: C:/MINGW1120/mingw64/bin/g++.exe - skipped
    agent:2024/02/10 00:14:52 build.go:404: -- Detecting CXX compile features
    agent:2024/02/10 00:14:52 build.go:404: -- Detecting CXX compile features - done
    agent:2024/02/10 00:14:52 build.go:404: -- Detecting C compiler ABI info
    agent:2024/02/10 00:14:52 build.go:404: -- Detecting C compiler ABI info - done
    agent:2024/02/10 00:14:53 build.go:404: -- Check for working C compiler: C:/MINGW1120/mingw64/bin/gcc.exe - skipped
    agent:2024/02/10 00:14:53 build.go:404: -- Detecting C compile features
    agent:2024/02/10 00:14:53 build.go:404: -- Detecting C compile features - done
    agent:2024/02/10 00:14:53 build.go:404: -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    agent:2024/02/10 00:14:53 build.go:404: -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
    agent:2024/02/10 00:14:53 build.go:404: -- Found Threads: TRUE  
    agent:2024/02/10 00:14:54 build.go:404: -- Performing Test HAVE_STDATOMIC
    agent:2024/02/10 00:14:54 build.go:404: -- Performing Test HAVE_STDATOMIC - Success
    agent:2024/02/10 00:14:54 build.go:404: -- Found WrapAtomic: TRUE  
    agent:2024/02/10 00:14:57 build.go:404: -- CMAKE_BUILD_TYPE was set to: 'RelWithDebInfo'
    agent:2024/02/10 00:14:57 build.go:404: -- Checking for feature set changes
    agent:2024/02/10 00:14:57 build.go:404: -- CMAKE_STRIP (original): C:/MINGW1120/mingw64/bin/strip.exe
    agent:2024/02/10 00:14:57 build.go:404: -- Performing Test strip --keep-section
    agent:2024/02/10 00:14:58 build.go:404: -- Performing Test strip --keep-section - TRUE
    agent:2024/02/10 00:14:58 build.go:404: -- CMAKE_STRIP (used by Qt): C:/Users/qt/work/qt/qtmultimedia_build/./bin/qt-internal-strip.bat
    agent:2024/02/10 00:14:58 build.go:404: -- Could NOT find ALSA (missing: ALSA_LIBRARY ALSA_INCLUDE_DIR) 
    agent:2024/02/10 00:14:59 build.go:404: -- Could NOT find AVFoundation (missing: AVFoundation_LIBRARY) 
    agent:2024/02/10 00:14:59 build.go:404: -- Could NOT find GLIB2 (missing: GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS) 
    agent:2024/02/10 00:14:59 build.go:404: -- Could NOT find GLIB2 (missing: GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS) 
    agent:2024/02/10 00:15:00 build.go:404: -- Could NOT find GLIB2 (missing: GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS) 
    agent:2024/02/10 00:15:00 build.go:404: -- Could NOT find GLIB2 (missing: GLIB2_LIBRARIES GTHREAD2_LIBRARIES GLIB2_INCLUDE_DIRS) 
    agent:2024/02/10 00:15:00 build.go:404: -- Could NOT find MMRendererCore (missing: MMRendererCore_LIBRARY) 
    agent:2024/02/10 00:15:00 build.go:404: -- Could NOT find MMRenderer (missing: MMRenderer_LIBRARY) 
    agent:2024/02/10 00:15:01 build.go:404: -- Could NOT find WrapPulseAudio (missing: PULSEAUDIO_LIBRARY PULSEAUDIO_INCLUDE_DIR WrapPulseAudio_FOUND) 
    agent:2024/02/10 00:15:02 build.go:404: -- Found WMF: C:/MINGW1120/mingw64/x86_64-w64-mingw32/lib/libstrmiids.a  
    agent:2024/02/10 00:15:02 build.go:404: -- Performing Test HAVE_EGL
    agent:2024/02/10 00:15:02 build.go:404: -- Performing Test HAVE_EGL - Failed
    agent:2024/02/10 00:15:02 build.go:404: -- Could NOT find EGL (missing: EGL_INCLUDE_DIR HAVE_EGL EGL_LIBRARY) 
    agent:2024/02/10 00:15:03 build.go:404: -- Found FFmpeg: libavcodec.a;libavformat.a;libavutil.a;libswresample.a;libswscale.a  found components: AVCODEC AVFORMAT AVUTIL SWRESAMPLE SWSCALE 
    agent:2024/02/10 00:15:03 build.go:404: -- Could NOT find VAAPI (missing: VAAPI_VA_FOUND VAAPI_DRM_FOUND VA DRM) 
    agent:2024/02/10 00:15:03 build.go:404: -- Performing Test evr.h
    agent:2024/02/10 00:15:06 build.go:404: -- Performing Test evr.h - Success
    agent:2024/02/10 00:15:06 build.go:404: -- Performing Test Vivante GPU
    agent:2024/02/10 00:15:07 build.go:404: -- Performing Test Vivante GPU - Failed
    agent:2024/02/10 00:15:07 build.go:404: -- Performing Test Video for Linux
    agent:2024/02/10 00:15:07 build.go:404: -- Performing Test Video for Linux - Failed
    agent:2024/02/10 00:15:07 build.go:404: -- Performing Test wmsdk.h
    agent:2024/02/10 00:15:10 build.go:404: -- Performing Test wmsdk.h - Success
    agent:2024/02/10 00:15:10 build.go:404: -- Performing Test Linux DMA buffer support - Failed because EGL::EGL not found
    agent:2024/02/10 00:15:10 build.go:404: -- Performing Test HAVE_DASH_UNDEFINED_SYMBOLS
    agent:2024/02/10 00:15:11 build.go:404: -- Performing Test HAVE_DASH_UNDEFINED_SYMBOLS - Success
    agent:2024/02/10 00:15:11 build.go:404: -- Performing Test HAVE_DASH_DASH_NO_UNDEFINED
    agent:2024/02/10 00:15:11 build.go:404: -- Performing Test HAVE_DASH_DASH_NO_UNDEFINED - Success
    agent:2024/02/10 00:15:12 build.go:404: -- Could NOT find EGL (missing: EGL_INCLUDE_DIR HAVE_EGL EGL_LIBRARY) 
    agent:2024/02/10 00:15:13 build.go:404: -- Could NOT find VAAPI (missing: VAAPI_VA_FOUND VAAPI_DRM_FOUND VA DRM) 
    agent:2024/02/10 00:15:13 build.go:404: -- Generated QtModulePlugins.cmake files for the following modules: Multimedia
    agent:2024/02/10 00:15:13 build.go:404: -- The following packages have been found:
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6BuildInternals (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6CoreTools (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Core (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Vulkan
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6GuiTools (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Gui (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Network (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Svg (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6WidgetsTools (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Widgets (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6QmlTools (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * WrapVulkanHeaders
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Quick (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6QuickTest (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6QuickControls2 (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Quick3DTools (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6ShaderToolsTools (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6Quick3D (required version >= 6.6.2)
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6
    agent:2024/02/10 00:15:13 build.go:404:  * WMF
    agent:2024/02/10 00:15:13 build.go:404:  * FFmpeg
    agent:2024/02/10 00:15:13 build.go:404: -- The following OPTIONAL packages have not been found:
    agent:2024/02/10 00:15:13 build.go:404:  * Qt6QmlCompilerPlusPrivate
    agent:2024/02/10 00:15:13 build.go:404:  * ALSA
    agent:2024/02/10 00:15:13 build.go:404:  * AVFoundation
    agent:2024/02/10 00:15:13 build.go:404:  * GStreamer
    agent:2024/02/10 00:15:13 build.go:404:  * MMRendererCore
    agent:2024/02/10 00:15:13 build.go:404:  * MMRenderer
    agent:2024/02/10 00:15:13 build.go:404:  * PulseAudio
    agent:2024/02/10 00:15:13 build.go:404:  * WrapPulseAudio
    agent:2024/02/10 00:15:13 build.go:404:  * EGL, A platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES and OpenVG., <https://www.khronos.org/egl/>
    agent:2024/02/10 00:15:14 build.go:404:  * PkgConfig
    agent:2024/02/10 00:15:14 build.go:404:  * VAAPI
    agent:2024/02/10 00:15:14 build.go:404: -- Configuration summary shown below. It has also been written to C:/Users/qt/work/qt/qtmultimedia_build/config.summary
    agent:2024/02/10 00:15:14 build.go:404: -- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations.
    agent:2024/02/10 00:15:14 build.go:404:  
    agent:2024/02/10 00:15:14 build.go:404: -- Configure summary:
    agent:2024/02/10 00:15:14 build.go:404: Qt Multimedia:
    agent:2024/02/10 00:15:14 build.go:404:   Spatial Audio .......................... yes
    agent:2024/02/10 00:15:14 build.go:404:   Spatial Audio (Quick3D) ................ yes
    agent:2024/02/10 00:15:14 build.go:404:   Low level Audio Backend:
    agent:2024/02/10 00:15:14 build.go:404:     ALSA (experimental) .................. no
    agent:2024/02/10 00:15:14 build.go:404:     PulseAudio ........................... no
    agent:2024/02/10 00:15:14 build.go:404:     MMRenderer ........................... no
    agent:2024/02/10 00:15:14 build.go:404:     CoreAudio ............................ no
    agent:2024/02/10 00:15:14 build.go:404:     Windows Media SDK .................... yes
    agent:2024/02/10 00:15:14 build.go:404:     Open SLES (Android) .................. no
    agent:2024/02/10 00:15:14 build.go:404:     Web Assembly ......................... no
    agent:2024/02/10 00:15:14 build.go:404:   Plugin:
    agent:2024/02/10 00:15:14 build.go:404:     GStreamer 1.0 ........................ no
    agent:2024/02/10 00:15:14 build.go:404:     FFmpeg ............................... yes
    agent:2024/02/10 00:15:14 build.go:404:     MMRenderer ........................... no
    agent:2024/02/10 00:15:14 build.go:404:     AVFoundation ......................... no
    agent:2024/02/10 00:15:14 build.go:404:     Windows Media Foundation ............. yes
    agent:2024/02/10 00:15:14 build.go:404:   Hardware acceleration and features:
    agent:2024/02/10 00:15:14 build.go:404:     Video for Linux ...................... no
    agent:2024/02/10 00:15:14 build.go:404:     VAAPI support ........................ no
    agent:2024/02/10 00:15:14 build.go:404:     Linux DMA buffer support ............. no
    agent:2024/02/10 00:15:14 build.go:404:     VideoToolbox ......................... no
    agent:2024/02/10 00:15:14 build.go:404:  
    

    Doing a search on Jira points to https://bugreports.qt.io/browse/QTBUG-114540 which might have information which would help.

    K Offline
    K Offline
    kyrlon
    wrote on last edited by
    #5

    @cristian-adam Thanks for the response. I have not seen my error/bug so I created a new issue

    1 Reply Last reply
    1
    • K kyrlon

      @cristian-adam Thanks for pointing that out. As mentioned by your comment, I was using an incompatible version of minGW. I then downloaded the compatible MinGW and added to PATH

      Attempt # 5 for building on windows

      1. Cleared out the build folder and ran the configure.bat like the following:
      PS C:\Users\kyrlon\Downloads\qt-everywhere-src-6.6.2\build> ..\configure.bat
      
      1. Ran the command cmake --build . --parallel
        Got a bunch of errors stating that it could not remove certain files with what it looks like mingw-32-make.exe: https://pastebin.com/N1Kctyf6

      2. Ran the command cmake --build . --parallel
        Got a bunch of errors again this time failing at 10% with just Error2: https://pastebin.com/j6hUEWeX

      Attempt # 6 for building on windows

      Decided to use ninja to see if there is any difference with a different build tool added since it was recommended, but not required. Downloaded ninja v1.11.1 and added to PATH

      1. Cleared out the build folder and ran the configure.bat like the following:
      PS C:\Users\kyrlon\Downloads\qt-everywhere-src-6.6.2\build> ..\configure.bat
      
      1. Ran the command cmake --build . --parallel
        Got a bunch of no outputs generated. Eventually got a FAILED:
      FAILED: qtmultimedia/src/plugins/multimedia/windows/CMakeFiles/QWindowsMediaPlugin.dir/qwindowsintegration.cpp.obj
      

      Here is a log output for this attempt: https://pastebin.com/sVUR1jGa
      This error is similar to Attempt #4, and I am not sure why this file would be missing.

      Christian EhrlicherC Offline
      Christian EhrlicherC Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by
      #6

      @kyrlon said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

      and I am not sure why this file would be missing.

      Because the path is to long. Use a shorter source and build path and blame MS.

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

      cristian-adamC 1 Reply Last reply
      1
      • Christian EhrlicherC Christian Ehrlicher

        @kyrlon said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

        and I am not sure why this file would be missing.

        Because the path is to long. Use a shorter source and build path and blame MS.

        cristian-adamC Offline
        cristian-adamC Offline
        cristian-adam
        wrote on last edited by
        #7

        @kyrlon It could be that the path is too long for the MinGW GCC.

        At https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107974 I have a bugreport with a workaround to make gcc accept long paths:

        I've used the manifest tool from Visual C++ (mt.exe) to inject this manifest:

        <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <!-- Copyright (c) Microsoft Corporation -->
        <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <application  xmlns="urn:schemas-microsoft-com:asm.v3">
            <windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
                <ws2:longPathAware>true</ws2:longPathAware>
            </windowsSettings>
        </application>
        </assembly>
        

        with the command line:
        mt.exe -nologo -manifest "cc1plus.exe.manifest" -outputresource:"cc1plus.exe;#1"

        Ninja requires the same treatment, see https://github.com/ninja-build/ninja/pull/2225

        K 1 Reply Last reply
        1
        • cristian-adamC cristian-adam

          @kyrlon It could be that the path is too long for the MinGW GCC.

          At https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107974 I have a bugreport with a workaround to make gcc accept long paths:

          I've used the manifest tool from Visual C++ (mt.exe) to inject this manifest:

          <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
          <!-- Copyright (c) Microsoft Corporation -->
          <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
          <application  xmlns="urn:schemas-microsoft-com:asm.v3">
              <windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
                  <ws2:longPathAware>true</ws2:longPathAware>
              </windowsSettings>
          </application>
          </assembly>
          

          with the command line:
          mt.exe -nologo -manifest "cc1plus.exe.manifest" -outputresource:"cc1plus.exe;#1"

          Ninja requires the same treatment, see https://github.com/ninja-build/ninja/pull/2225

          K Offline
          K Offline
          kyrlon
          wrote on last edited by
          #8

          @cristian-adam I am not too familiar with this. Do I run this in the minGW bin? I do not have a cc1plus.exe on my system.

          1 Reply Last reply
          0
          • K Offline
            K Offline
            kyrlon
            wrote on last edited by kyrlon
            #9

            Attempt # 7 for building on windows

            Decided to use ninja that had fix in it, so I compiled from source on windows and replaced with new ninja in PATH

            1. Cleared out the build folder and ran the configure.bat like the following:
            PS C:\Users\kyrlon\Downloads\qt-everywhere-src-6.6.2\build> ..\configure.bat
            
            1. Ran the command cmake --build . --parallel
              Got another output fail due to missing header:
            C:/Users/kyrlon/Downloads/qt-everywhere-src-6.6.2/qtmultimedia/src/multimedia/windows/qwindowsmediadevices_p.h:19:10: fatal error: qplatformmediadevices_p.h: No such file or directory
               19 | #include <qplatformmediadevices_p.h>
                  |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
            compilation terminated.
            

            Attempt # 8 for building on windows [SUCCESS!!]

            Trying the suggestion by Christian Ehrlicher, and decided to build in the C:\ path directly, but this required a terminal with ADMIN priv.

            1. Cleared out the build folder and ran the configure.bat like the following:
            PS C:\qt6\build> ..\configure.bat
            
            1. Ran the command cmake --build . --parallel
              SUCCESS!
            2. Ran the command:
            PS C:\qt6\build> cmake --install .
            

            No issues and everything was installed.

            This attempt appears to be successful, but I'm not sure if trying to build from source every time from different machines would allow me to always have access to C:\.

            jsulmJ 1 Reply Last reply
            0
            • K kyrlon

              Attempt # 7 for building on windows

              Decided to use ninja that had fix in it, so I compiled from source on windows and replaced with new ninja in PATH

              1. Cleared out the build folder and ran the configure.bat like the following:
              PS C:\Users\kyrlon\Downloads\qt-everywhere-src-6.6.2\build> ..\configure.bat
              
              1. Ran the command cmake --build . --parallel
                Got another output fail due to missing header:
              C:/Users/kyrlon/Downloads/qt-everywhere-src-6.6.2/qtmultimedia/src/multimedia/windows/qwindowsmediadevices_p.h:19:10: fatal error: qplatformmediadevices_p.h: No such file or directory
                 19 | #include <qplatformmediadevices_p.h>
                    |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
              compilation terminated.
              

              Attempt # 8 for building on windows [SUCCESS!!]

              Trying the suggestion by Christian Ehrlicher, and decided to build in the C:\ path directly, but this required a terminal with ADMIN priv.

              1. Cleared out the build folder and ran the configure.bat like the following:
              PS C:\qt6\build> ..\configure.bat
              
              1. Ran the command cmake --build . --parallel
                SUCCESS!
              2. Ran the command:
              PS C:\qt6\build> cmake --install .
              

              No issues and everything was installed.

              This attempt appears to be successful, but I'm not sure if trying to build from source every time from different machines would allow me to always have access to C:\.

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

              @kyrlon said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

              allow me to always have access to C:.

              You can also build in your user home folder like c:\users\USER_NAME\QT_BUILD_FOLDER

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

              K 2 Replies Last reply
              0
              • jsulmJ jsulm

                @kyrlon said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                allow me to always have access to C:.

                You can also build in your user home folder like c:\users\USER_NAME\QT_BUILD_FOLDER

                K Offline
                K Offline
                kyrlon
                wrote on last edited by
                #11

                @jsulm Good point. In general, I am aware that this is a Windows problem, but tampering with registry keys to disable the character path limit is not the ideal solution for different systems in use. Since I don't do much development on Windows, I was just wondering if this was a gcc or cmake limitation?

                jsulmJ Christian EhrlicherC 2 Replies Last reply
                0
                • K kyrlon

                  @jsulm Good point. In general, I am aware that this is a Windows problem, but tampering with registry keys to disable the character path limit is not the ideal solution for different systems in use. Since I don't do much development on Windows, I was just wondering if this was a gcc or cmake limitation?

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

                  @kyrlon Too long paths is a Windows limitation

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

                  cristian-adamC 1 Reply Last reply
                  0
                  • K kyrlon

                    @jsulm Good point. In general, I am aware that this is a Windows problem, but tampering with registry keys to disable the character path limit is not the ideal solution for different systems in use. Since I don't do much development on Windows, I was just wondering if this was a gcc or cmake limitation?

                    Christian EhrlicherC Offline
                    Christian EhrlicherC Offline
                    Christian Ehrlicher
                    Lifetime Qt Champion
                    wrote on last edited by
                    #13

                    @kyrlon said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                    Since I don't do much development on Windows, I was just wondering if this was a gcc or cmake limitation?

                    Because the path is to long. Use a shorter source and build path and blame MS

                    Already answered two days ago...

                    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
                    • jsulmJ jsulm

                      @kyrlon Too long paths is a Windows limitation

                      cristian-adamC Offline
                      cristian-adamC Offline
                      cristian-adam
                      wrote on last edited by
                      #14

                      @jsulm said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                      Too long paths is a Windows limitation

                      Not quite. Windows has support for long paths (>255 characters) since Windows 10 version 1607 released on August 2015.

                      But the applications need to opt-in in order to use the new functionality.

                      It's a tooling problem:

                      • Ninja - Is fixed but waiting for an official release (1.12)
                      • GCC - Not fixed.
                      • Visual C++ - Not fixed.
                      • moc - Fixed since Qt 6.5.
                      • make - Not fixed, but forgot to open a bug report.
                      • clang - Works out of the box.
                      • cmake - Works out of the box.

                      So on Windows if you take llvm-mingw and a patched ninja you would be able to compile with clang and Qt 6.5+ just fine.

                      jsulmJ K 2 Replies Last reply
                      3
                      • cristian-adamC cristian-adam

                        @jsulm said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                        Too long paths is a Windows limitation

                        Not quite. Windows has support for long paths (>255 characters) since Windows 10 version 1607 released on August 2015.

                        But the applications need to opt-in in order to use the new functionality.

                        It's a tooling problem:

                        • Ninja - Is fixed but waiting for an official release (1.12)
                        • GCC - Not fixed.
                        • Visual C++ - Not fixed.
                        • moc - Fixed since Qt 6.5.
                        • make - Not fixed, but forgot to open a bug report.
                        • clang - Works out of the box.
                        • cmake - Works out of the box.

                        So on Windows if you take llvm-mingw and a patched ninja you would be able to compile with clang and Qt 6.5+ just fine.

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

                        @cristian-adam said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                        But the applications need to opt-in in order to use the new functionality

                        Well, yes. But you can also see it as on OS problem if user has to do something special just to be able to use long paths. And I think this is a system wide setting and not per-application.

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

                        1 Reply Last reply
                        0
                        • cristian-adamC cristian-adam

                          @jsulm said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                          Too long paths is a Windows limitation

                          Not quite. Windows has support for long paths (>255 characters) since Windows 10 version 1607 released on August 2015.

                          But the applications need to opt-in in order to use the new functionality.

                          It's a tooling problem:

                          • Ninja - Is fixed but waiting for an official release (1.12)
                          • GCC - Not fixed.
                          • Visual C++ - Not fixed.
                          • moc - Fixed since Qt 6.5.
                          • make - Not fixed, but forgot to open a bug report.
                          • clang - Works out of the box.
                          • cmake - Works out of the box.

                          So on Windows if you take llvm-mingw and a patched ninja you would be able to compile with clang and Qt 6.5+ just fine.

                          K Offline
                          K Offline
                          kyrlon
                          wrote on last edited by
                          #16

                          @cristian-adam

                          Attempt # 9 for building on windows

                          Tried your suggestion, but got the same error of missing file of qplatformmediadevices_p.h

                          1. Cleared out the build folder and ran the configure.bat like the following:
                          PS C:\qt6\build> ..\configure.bat
                          
                          1. Ran the command cmake --build . --parallel

                          Buikld stop with missing header file: https://pastebin.com/AZ7zDM2d

                          I used the version of llvm-mingw:

                          version of ninja used:

                          PS C:\Users\kyrlon\Downloads\qt-everywhere-src-6.6.2\build> ninja --version
                          1.12.0.git
                          
                          cristian-adamC 1 Reply Last reply
                          1
                          • jsulmJ jsulm

                            @kyrlon said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                            allow me to always have access to C:.

                            You can also build in your user home folder like c:\users\USER_NAME\QT_BUILD_FOLDER

                            K Offline
                            K Offline
                            kyrlon
                            wrote on last edited by
                            #17

                            @jsulm said in Failing to build Qt 6.6.2 from source on Windows 10 with MinGW64 compiler:

                            You can also build in your user home folder like c:\users\USER_NAME\QT_BUILD_FOLDER

                            Another alternative is to use a virtual drive using the subst command. I might make this attempt later.

                            1 Reply Last reply
                            0
                            • K kyrlon

                              @cristian-adam

                              Attempt # 9 for building on windows

                              Tried your suggestion, but got the same error of missing file of qplatformmediadevices_p.h

                              1. Cleared out the build folder and ran the configure.bat like the following:
                              PS C:\qt6\build> ..\configure.bat
                              
                              1. Ran the command cmake --build . --parallel

                              Buikld stop with missing header file: https://pastebin.com/AZ7zDM2d

                              I used the version of llvm-mingw:

                              version of ninja used:

                              PS C:\Users\kyrlon\Downloads\qt-everywhere-src-6.6.2\build> ninja --version
                              1.12.0.git
                              
                              cristian-adamC Offline
                              cristian-adamC Offline
                              cristian-adam
                              wrote on last edited by
                              #18

                              @kyrlon thank you for trying out llvm-mingw.

                              I'll have a look at this since from my point of view all of the tools should allow for long paths.

                              1 Reply Last reply
                              0
                              • K Offline
                                K Offline
                                kyrlon
                                wrote on last edited by
                                #19

                                Attempt # 10 for building on windows [SUCCESS!!]

                                Started from scratch by re-downloading the source and used the subst command to make a new path to build with.

                                1. Created a virtual drive to avoid the PATH length limit:
                                subst a: .\qt-everywhere-src-6.6.2\
                                
                                1. created the build folder and ran the configure.bat like the following:
                                PS a:\build> ..\configure.bat
                                
                                1. Ran the command cmake --build . --parallel

                                2. Ran the install command afterwards

                                PS a:\build> cmake --build . --parallel
                                

                                No issues and everything was installed.

                                1 Reply Last reply
                                0
                                • CesarC Cesar referenced this topic on

                                • Login

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