Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. Build and Run from Command Line
Forum Updated to NodeBB v4.3 + New Features

Build and Run from Command Line

Scheduled Pinned Locked Moved Solved Qt Creator and other tools
13 Posts 6 Posters 3.1k Views 5 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.
  • sierdzioS sierdzio

    @Sebastiano-Zamberlan the process is similar to any other cmake project:

    cmake -S /path/to/source-code -B . 
    cmake --build . --parallel --config Release
    

    Then you either run the executable right away or perhaps run deployment first (windeployqt).

    Sebastiano ZamberlanS Offline
    Sebastiano ZamberlanS Offline
    Sebastiano Zamberlan
    wrote on last edited by
    #3

    @sierdzio How can I specify that I want it to be compiled with mingw_64

    Christian EhrlicherC Paul ColbyP 2 Replies Last reply
    0
    • Sebastiano ZamberlanS Sebastiano Zamberlan

      @sierdzio How can I specify that I want it to be compiled with mingw_64

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

      @Sebastiano-Zamberlan said in Build and Run from Command Line:

      How can I specify that I want it to be compiled with mingw_64

      What does this mean? You create a CMakeLists.txt like it's done in QtCreator or any other ide which cmake then processes.

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

      Sebastiano ZamberlanS 1 Reply Last reply
      0
      • Christian EhrlicherC Christian Ehrlicher

        @Sebastiano-Zamberlan said in Build and Run from Command Line:

        How can I specify that I want it to be compiled with mingw_64

        What does this mean? You create a CMakeLists.txt like it's done in QtCreator or any other ide which cmake then processes.

        Sebastiano ZamberlanS Offline
        Sebastiano ZamberlanS Offline
        Sebastiano Zamberlan
        wrote on last edited by
        #5

        @Christian-Ehrlicher, @sierdzio let's take an example, I create a new project ( in this case QtQuick Application )
        I leave the code as is and try from terminal to run

        cmake -S /path/to/source-code -B .
        

        this is what appears to me.

        -- Building for: Visual Studio 15 2017
        -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.19045.
        -- The CXX compiler identification is MSVC 19.16.27051.0
        -- Detecting CXX compiler ABI info
        -- Detecting CXX compiler ABI info - done
        -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - skipped
        -- Detecting CXX compile features
        -- Detecting CXX compile features - done
        CMake Error at CMakeLists.txt:8 (find_package):
          By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
          asked CMake to find a package configuration file provided by "Qt6", but
          CMake did not find one.
        
          Could not find a package configuration file provided by "Qt6" (requested
          version 6.2) with any of the following names:
        
            Qt6Config.cmake
            qt6-config.cmake
        
          Add the installation prefix of "Qt6" to CMAKE_PREFIX_PATH or set "Qt6_DIR"
          to a directory containing one of the above files.  If "Qt6" provides a
          separate development package or SDK, be sure it has been installed.
        
        
        -- Configuring incomplete, errors occurred!
        

        I wanted to know meanwhile how to specify my intention to use mingw_64 as compiler

        Christian EhrlicherC 1 Reply Last reply
        1
        • Sebastiano ZamberlanS Sebastiano Zamberlan

          @Christian-Ehrlicher, @sierdzio let's take an example, I create a new project ( in this case QtQuick Application )
          I leave the code as is and try from terminal to run

          cmake -S /path/to/source-code -B .
          

          this is what appears to me.

          -- Building for: Visual Studio 15 2017
          -- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.19045.
          -- The CXX compiler identification is MSVC 19.16.27051.0
          -- Detecting CXX compiler ABI info
          -- Detecting CXX compiler ABI info - done
          -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - skipped
          -- Detecting CXX compile features
          -- Detecting CXX compile features - done
          CMake Error at CMakeLists.txt:8 (find_package):
            By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
            asked CMake to find a package configuration file provided by "Qt6", but
            CMake did not find one.
          
            Could not find a package configuration file provided by "Qt6" (requested
            version 6.2) with any of the following names:
          
              Qt6Config.cmake
              qt6-config.cmake
          
            Add the installation prefix of "Qt6" to CMAKE_PREFIX_PATH or set "Qt6_DIR"
            to a directory containing one of the above files.  If "Qt6" provides a
            separate development package or SDK, be sure it has been installed.
          
          
          -- Configuring incomplete, errors occurred!
          

          I wanted to know meanwhile how to specify my intention to use mingw_64 as compiler

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

          You have to set up your env correctly before by starting the command line through the 'Qt 6.x.x (MinGW64) menu entry. Then the PATH is correctly set up and the mingw compiler is found & used. Start over with a clean build dir.

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

          Sebastiano ZamberlanS 1 Reply Last reply
          2
          • Christian EhrlicherC Christian Ehrlicher

            You have to set up your env correctly before by starting the command line through the 'Qt 6.x.x (MinGW64) menu entry. Then the PATH is correctly set up and the mingw compiler is found & used. Start over with a clean build dir.

            Sebastiano ZamberlanS Offline
            Sebastiano ZamberlanS Offline
            Sebastiano Zamberlan
            wrote on last edited by Sebastiano Zamberlan
            #7

            @Christian-Ehrlicher @sierdzio

            I tried but still the same error,
            I also ran the command

            --system-information information.txt 
            

            and in the .txt the path goes to the Visual Studio

            In fact the message that cmake sent me was always:

            -- Building for: Visual Studio 15 2017
            
            Christian EhrlicherC 1 Reply Last reply
            1
            • Sebastiano ZamberlanS Sebastiano Zamberlan

              @Christian-Ehrlicher @sierdzio

              I tried but still the same error,
              I also ran the command

              --system-information information.txt 
              

              and in the .txt the path goes to the Visual Studio

              In fact the message that cmake sent me was always:

              -- Building for: Visual Studio 15 2017
              
              Christian EhrlicherC Offline
              Christian EhrlicherC Offline
              Christian Ehrlicher
              Lifetime Qt Champion
              wrote on last edited by
              #8

              @Sebastiano-Zamberlan Then pass -DCMAKE_CXX_COMPILER=g++ and make sure g++ --version print something useful (which should when you set up the env correct).

              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
              2
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #9

                Hi,

                In addition to @Christian-Ehrlicher, the Qt 6 versions you installed have a qt-cmake script that are tuned for the installation they are in.

                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
                1
                • Sebastiano ZamberlanS Sebastiano Zamberlan

                  @sierdzio How can I specify that I want it to be compiled with mingw_64

                  Paul ColbyP Offline
                  Paul ColbyP Offline
                  Paul Colby
                  wrote on last edited by
                  #10

                  @Sebastiano-Zamberlan said in Build and Run from Command Line:

                  @sierdzio How can I specify that I want it to be compiled with mingw_64

                  The easiest way, I think, is to use CMake's MinGW Makefiles generator, like:

                  cmake -G "MinGW Makefiles" ...
                  

                  As @SGaist wrote, if you're using Qt 6, then you can use Qt's qt-cmake wrapper, so:

                  X:\path\to\qt\installation\qt-cmake.bat -G "MinGW Makefiles" -S <src-dir> -B <build-dir>
                  

                  All qt-cmake does (today) is set CMake's CMAKE_TOOLCHAIN_FILE variable, so it's equivalent to:

                  cmake.exe -DCMAKE_TOOLCHAIN_FILE="X:\path\to\qt\installation\lib\cmake\qt.toolchain.cmake" -G "MinGW Makefiles" -S <src-dir> -B <build-dir>
                  

                  Cheers.

                  Sebastiano ZamberlanS 1 Reply Last reply
                  4
                  • Paul ColbyP Paul Colby

                    @Sebastiano-Zamberlan said in Build and Run from Command Line:

                    @sierdzio How can I specify that I want it to be compiled with mingw_64

                    The easiest way, I think, is to use CMake's MinGW Makefiles generator, like:

                    cmake -G "MinGW Makefiles" ...
                    

                    As @SGaist wrote, if you're using Qt 6, then you can use Qt's qt-cmake wrapper, so:

                    X:\path\to\qt\installation\qt-cmake.bat -G "MinGW Makefiles" -S <src-dir> -B <build-dir>
                    

                    All qt-cmake does (today) is set CMake's CMAKE_TOOLCHAIN_FILE variable, so it's equivalent to:

                    cmake.exe -DCMAKE_TOOLCHAIN_FILE="X:\path\to\qt\installation\lib\cmake\qt.toolchain.cmake" -G "MinGW Makefiles" -S <src-dir> -B <build-dir>
                    

                    Cheers.

                    Sebastiano ZamberlanS Offline
                    Sebastiano ZamberlanS Offline
                    Sebastiano Zamberlan
                    wrote on last edited by
                    #11

                    @Paul-Colby @Christian-Ehrlicher @SGaist @sierdzio

                    Thank you guys, this information is very helpful,

                    I was able to launch from the specific terminal, now I want to understand what the "qtenv2.bat" contains and how it acts so that I can make a .bat or a general .py that allows me to launch a build.

                    jsulmJ 1 Reply Last reply
                    0
                    • Sebastiano ZamberlanS Sebastiano Zamberlan

                      @Paul-Colby @Christian-Ehrlicher @SGaist @sierdzio

                      Thank you guys, this information is very helpful,

                      I was able to launch from the specific terminal, now I want to understand what the "qtenv2.bat" contains and how it acts so that I can make a .bat or a general .py that allows me to launch a build.

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

                      @Sebastiano-Zamberlan said in Build and Run from Command Line:

                      I want to understand what the "qtenv2.bat" contains and how it acts

                      Open it in a text editor

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

                      Sebastiano ZamberlanS 1 Reply Last reply
                      2
                      • jsulmJ jsulm

                        @Sebastiano-Zamberlan said in Build and Run from Command Line:

                        I want to understand what the "qtenv2.bat" contains and how it acts

                        Open it in a text editor

                        Sebastiano ZamberlanS Offline
                        Sebastiano ZamberlanS Offline
                        Sebastiano Zamberlan
                        wrote on last edited by
                        #13

                        @jsulm yeah 👍

                        1 Reply Last reply
                        0
                        • Sebastiano ZamberlanS Sebastiano Zamberlan has marked this topic as solved on

                        • Login

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