- Qt 5.15
- Qt for Windows - Building from Source
- Qt 5.15.19 Reference Documentation

# Qt for Windows - Building from Source

This page describes the process of configuring and building Qt for Windows. Before building, there are some requirements that are given in more detail in the Qt for Windows - Requirements document.

You can download the Qt 5 sources from the Downloads page. For more information, visit the Getting Started with Qt page.

## Step 1: Install the License File (Commercially Licensed Qt Only)

If you use Qt with a commercial license, the Qt tools look for a local license file. If you are using a binary installer or the commercial Qt Creator, your licenses are automatically fetched and stored in your local user profile (`%USERPROFILE%\AppData\Roaming\Qt\qtlicenses.ini` file).

If you do not use any binary installer or Qt Creator, you can download the respective license file from your Qt Account Web portal and save it to your user profile as `%USERPROFILE%\.qt-license`. If you prefer a different location or file name, you need to set the `QT_LICENSE_FILE` environment variable to the respective file path.

## Step 2: Unpack the Archive

Uncompress the files into the directory you want Qt installed; e.g. `C:\Qt\%VERSION%`.

Note: The install path must not contain any spaces or Windows specific file system characters.

## 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 `qt5vars.cmd` and the Qt folder is called `Qt-5` and located under `C:\Qt`:

     REM Set up Microsoft Visual Studio 2017, where <arch> is amd64, x86, etc.
     CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" <arch>
     SET _ROOT=C:\Qt\Qt-5
     SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
     REM Uncomment the below line when using a git checkout of the source repository
     REM SET PATH=%_ROOT%\qtrepotools\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\qt5vars.cmd` as application and `C:\Qt\Qt-5` as working directory.

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

Settings required by the additional libraries (see Qt for Windows - Requirements) should also go this file below the call to the Windows SDK setup script.

## Step 4: Build the Qt Library

The default behavior of configure is to create an in-source build of Qt 5. If you want to install Qt 5 to a separate location, you need to specify the command line option `-prefix <location>`. Alternatively, the command line option `-developer-build` creates an in-source build for developer usage.

To configure the Qt library for a debug build for your machine, type the following command in the command prompt:

     configure -debug -nomake examples -nomake tests -skip qtwebengine -opensource

The Configure Options page contains more information about the configure options.

To build Qt using jom, type:

     jom

If you do not have jom installed, type:

     nmake

For MinGW, type:

     mingw32-make

If an installation prefix was given, type `jom install`, `nmake install` or `mingw32-make install`.

Note: If you later need to reconfigure and rebuild Qt from the same location, ensure that all traces of the previous configuration are removed by entering the build directory and typing `nmake distclean` before running `configure` again.

## Parallel Builds

jom is a replacement for `nmake` which makes use of all CPU cores and thus speeds up building.

## Step 5: Build the Qt Documentation

For the Qt reference documentation to be available in Qt Assistant, you must build it separately:

     nmake docs

This will build the documentation in the build folder. If you have installed Qt in a separate location, you will also need to install the documentation:

     nmake install_docs