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 (Commercial Editions Only)
If you have the commercial edition of Qt, copy the license file from your account on the distribution server into your home directory (this may be known as the userprofile
environment variable) and rename it to .qt-license
. This renaming process must be done using a command prompt on Windows, not with Windows Explorer. For example on Windows 2000, %USERPROFILE%
should be something like C:\Documents and Settings\username
For the open source version you do not need a license file.
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 the Windows SDKs. 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 2013, where <arch> is \c amd64, \c x86, etc. CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\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 QMAKESPEC=win32-msvc2013 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 Windows SDK 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 -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.
© 2015 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.