- Qt 6.5
- Qt for Windows - Building from Source
- Qt 6.5.0 Reference Documentation

# Qt for Windows - Building from Source

This page describes the process of configuring and building Qt for Windows. To download and install a pre-built Qt for Windows, follow the instructions on the Getting Started with Qt page.

## Step 1: Getting the Sources

Qt sources can be installed in the Qt Online Installer. Source packages are also available as Git repositories, as archives in the Qt Account (commercial users), and on download.qt.io (open-source users).

If you install the sources through the Qt Online Installer, they will be available in the Qt installation directory, for instance `C:\Qt\6.5.0\Src`.

If you downloaded the source archive, extract it to a directory of your choice, for instance `C:\dev\Qt\src`.

Note: The path to the source directory must not contain any spaces or Windows specific file system characters. The path should also be kept short. This avoids issues with too long file paths in the compilation phase.

## Step 2: Install Build Requirements

To build Qt from sources you need a build environment with a supported compiler and various build tools available:

### Build Tools

Tool | Supported Versions | Description
--- | --- | ---
CMake | Version 3.16 and newer (3.17 and newer for `-debug-and-release` builds 3.21 and newer for `-static` builds). | Required for configuring the Qt build. Available in the Qt Online Installer and on cmake.org.
Ninja | - | Recommended tool for building Qt. Available in the Qt Online Installer and on ninja-build.org.
Python | Version 3 | Required build tool. Windows installers are available on python.org, or from the Microsoft Store.

The executables `cmake.exe`, `ninja.exe`, and `python.exe` must be available in your build environment. You achieve this by adding the respective directory to your `PATH` environment variable.

### Compilers

The following compilers and configurations are supported in Qt 6.5:

Operating System | Architecture | Compiler
--- | --- | ---
Windows 10 (1809 or later) | `x86_64` | MSVC 2022, MSVC 2019, MinGW 11.2 |
Windows 11 | `x86_64` | MSVC 2022, MSVC 2019, MinGW 11.2 |
Windows on ARM | `arm64` | MSVC 2019/2022 | Technology Preview

Note: Windows on ARM is only supported as a deployment target. Applications have to be cross-compiled from an x86-64 Windows machine and deployed to target.

### QDoc Dependencies

QDoc uses Clang to parse C++ code. If you wish to build QDoc manually, refer to Installing Clang for QDoc for specific build requirements.

## Step 3: Set the Environment Variables

We recommend creating a desktop link that opens a command prompt with the environment set up similar to the Command Prompt menu entries provided by Visual Studio. This is done by creating an application link passing a `.cmd` file setting up the environment and the command line option `/k` (remain open) to `cmd.exe`.

Assuming the file is called `qt6vars.cmd` and the Qt folder is called `C:\Qt\6.5.0\Src`:

     REM Set up Microsoft Visual Studio 2019, where <arch> is amd64, x86, etc.
     CALL "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" <arch>
     SET _ROOT=C:\Qt\6.5.0\Src
     SET PATH=%_ROOT%\qtbase\bin;%PATH%
     SET _ROOT=

A desktop link can then be created by specifying the command `%SystemRoot%\system32\cmd.exe /E:ON /V:ON /k C:\Qt\qt6vars.cmd` as application.

Depending on your individual setup, you might also need to make the installation directories of CMake, Ninja, and Python part of the `SET %PATH%` line above.

Note: Setups for MinGW are similar; they differ only in that the `bin` folder of the installation should be added to the path instead of calling the Visual Studio setup script. For MinGW, please make sure that no `sh.exe` can be found in the path, as it affects `mingw32-make`.

## Step 4: Build the Qt Library

To configure the Qt library for your machine type, run the `configure.bat` script in the source directory.

By default, Qt is configured for installation in the `C:\Program Files\Qt` directory, but this can be changed by using the `-prefix` option.

The Configure Options page contains more information about the configure options. See Qt for Windows - Graphics Acceleration for specific options regarding graphics acceleration.