Qt for macOS - Building from Source
Building Qt requires a macOS platform SDK and corresponding toolchain to be installed on the system. You can get this by installing the Xcode, as described in Qt for macOS#Build Environment.
You should always use the exact same Xcode and SDK version as listed in the Qt for macOS#Supported Versions, to ensure that Qt has been tested in the configuration you're building.
In addition to Xcode, you will need to make sure you have the following dependencies in your path
- CMake (>=3.16, >= 3.18.4 for Ninja Multi-Config, >= 3.21.1 for static Qt builds)
If you want to build Qt WebEngine or Qt PDF, you will need the following additional dependencies:
- Python html5lib
- Bison, Flex
- Node.js version 8 or later (version 12 recommended)
QDoc uses Clang to parse C++ code. If you wish to build QDoc manually, refer to Installing Clang for QDoc for specific build requirements.
Steps for Building
The following instructions describe how to build Qt from the source package. You can download the Qt sources from the Downloads page. For more information, visit the Getting Started with Qt page.
Step 1: Unpack the Archive
Unpack the archive if you have not done so already. For example, if you have the
qt-everywhere-src-%VERSION%.tar.gz package, type the following commands at a command line prompt:
cd /tmp gunzip qt-everywhere-src-%VERSION%.tar.gz # uncompress the archive tar xvf qt-everywhere-src-%VERSION%.tar # unpack it
This creates the directory
/tmp/qt-everywhere-src-%VERSION% containing the files from the archive.
Step 2: Build the Qt Library
To configure the Qt library for your machine type, run the
./configure script in the package directory.
cd /tmp/qt-everywhere-src-%VERSION% ./configure
By default, Qt is configured for installation in the
/usr/local/Qt-%VERSION% directory, but this can be changed by using the
By default, Qt is built as a framework, but you can built it as a set of dynamic libraries (dylibs) by specifying the
As described in Qt for macOS#Architectures, Qt will build for the architecture of your development machine by default. To configure a universal build of Qt with support for both
arm64, add the following argument:
./configure -- -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
Qt can also be configured to be built with debugging symbols. This process is described in detail in the Debugging Techniques document.
The Configure Options page contains more information about the configure options.
To create the library and compile all the examples and tools, type:
cmake --build . --parallel
-prefix is outside the build directory, you need to install the library, examples, and tools in the appropriate place. To do this, type:
cmake --install .
This command requires that you have administrator access on your machine.
Step 3: Set the Environment Variables
In order to use Qt, some environment variables need to be extended.
PATH - to locate qmake, moc and other Qt tools
This is done like this:
.profile (if your shell is bash), or
.zshenv (for zsh) add the following lines:
PATH=/usr/local/Qt-%VERSION%/bin:$PATH export PATH
.login (in case your shell is csh or tcsh), add the following line:
setenv PATH /usr/local/Qt-%VERSION%/bin:$PATH
If you use a different shell, please modify your environment variables accordingly.
Qt is now installed.
© 2023 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.