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