How to use Qt Creator for software development on macOS without having to install Xcode
Justification
Install Qt Creator on Windows; Install Qt Creator on Mac OS X; Install Qt Creator on Linux; The final step of the installation is to build and run a sample project. If you have successfully done this, your installation is good to go! If you run into problems, check our troubleshooting guide. Re-installing: If you already have Qt Creator on your. I'm trying to build simple OpenCV app using qt creator on Mac Os X 10.9. So i've installed OpenCv and Qt4 using brew: brew install opencv brew install qt4 and then downloaded qt creator.
Qt refuses to install on macOS unless Apple's Xcode is installed beforehand.This is unfortunate because:
The Qt SDK for Mac OS X: The SDK available from The Qt Company for developing cross-platform applications. Not an Esri product. Qt Creator needs to know where to find the Qt SDKs you want to use. It looks for Qt SDKs on your development machine but may not detect all the Qt SDKs you want to use. This can happen when you have multiple Qt. Qt is a comprehensive application and UI framework for developing Mac applications that can also be deployed across many other desktop and embedded operating systems without rewriting the source code. Cross-Platform Development using Qt Creator. Qt Creator is a complete Cross-platform IDE included in the Qt SDK. Downloads for open source users. Find out how you can use Qt under the (L)GPL and contribute to the Qt project. View Qt product map. Extend your Qt experience. Download extensions and add-ons to tailor your Qt setup to the exact needs of your project from the all-new Qt Marketplace. Featured content: Loading featured products.
- Xcode is huge!
- The full IDE is a 5 GB download, and can occupy 20 GB+ of space on disk.
- Qt doesn't actually need the full IDE.
- Only Xcode's command line utilities are required for macOS application development¹.
- Developers may never actually use Xcode.
- They can program in Qt Creator, like they do in Windows and Linux.
Downloading and installing the command line utilities without Xcode saves time and bandwidth,and means that valuable SSD storage space is kept for better uses.
¹ I believe the full Xcode IDE is required for developing iOS apps with Qt(i.e. apps for iPads and iPhones)but I'm not sure about this as I'm not an iOS developer.
Instructions
Summary
- Install Xcode's Command Line Tools (i.e. not Xcode itself).
- Run in Terminal:
xcode-select --install
- Install Qt using the Online Installer.
- Download links:
- Open Source: https://www.qt.io/download-open-source
- Commercial: https://www.qt.io/download
- The installer will complain that Xcode is not installed.
- Keep clicking 'OK' until the message goes away permanently (after 12 clicks).
- Remember where you installed Qt (default location is
~/Qt
).- If you used a different location then you will need to change subsequent commands accordingly.
- Make sure Qt Creator uses the correct C++ Compiler.
- Launch Qt Creator for the first time from the command line,with the location of the command line tools compilers in
${PATH}
:PATH='$(xcode-select -p)/usr/bin:${PATH}' ~/Qt/Qt Creator.app/Contents/MacOS/Qt Creator
- Go to Qt Creator > Preferences > Build & Run > Kits and select a build kit (e.g.
Desktop Qt 5...
). - Check that both the C compiler and the C++ compiler are:
clang
(notgcc
)- from the Command Line Tools (not the default compilers in
/usr/bin
)
- Close Qt Creator.
- You can launch Qt Creator the normal way in future (e.g. via Spotlight).
- If your Qt version is older than Qt 5.9.2 then you need to update some QMake files.
- Navigate to the directory
~/Qt/<version>/clang_64/mkspecs/features/mac
- Make a backup copy of the following files before replacing them with newer versions from this git commit:
- Replace
sdk.prf
with this newer version. - Replace
default_pre.prf
with this newer version. - Make this change to the file
default_post.prf
:- Find the line
cache(QMAKE_XCODE_VERSION, stash)
- Replace it with
!isEmpty(QMAKE_XCODE_VERSION): cache(QMAKE_XCODE_VERSION, stash)
- Find the line
- Replace
All done!
Step-by-step
Step 1 - Download & install Xcode's Command Line Tools
Open a Terminal (press Cmd+Space and type 'Terminal') and enter this command:
Press the Return key to execute the command.
Step 2 - Download & install Qt and Qt Creator
Packages are available for MacPorts and Homebrew,but it's usually best to get it straight from the source:
- Open Source: https://www.qt.io/download-open-source
- Commercial: https://www.qt.io/download
The Online Installer is probably the best option for most people.
Tip: when you run the Online Installer it will prompt you to log in with Qt online credentials,but open-source users can skip this step without entering anything.
At a certain point during the install the following error message will appear:
You need to install Xcode version 5.0.0.Download Xcode from https://developer.apple.com/xcode
Press 'OK' or ESC to dismiss the dialog. It will come back again.Keep pressing 'OK' or ESC and the dialog will eventually go away for good!You have to dismiss the dialog a total of 12 times before you can continue.
Hint: Once Qt is installed you can delete the installer as you won't need it again.If you want to update or remove Qt you have to use the MaintenanceTool in the Qt directory.
Step 3 - Make sure Qt Creator uses the correct C++ Compiler.
Run this command in a Terminal windows to find out where Xcode's Command Line Tools are installed:
The result will probably be /Library/Developer/CommandLineTools
,unless Xcode is installed. Whatever the result,you need to append '/usr/bin' to get something along the lines of:
Run Qt Creator once with this location stored in your ${PATH}
environment variable:
Go to Qt Creator > Preferences > Build & Run > Kits and select a build kit (e.g. Desktop Qt 5...
).
Check that the C and C++ compilers are the ones from the command line tools,not the default compilers in /usr/bin
.Also check that clang
is used for both compilers, not gcc
.
Qt Creator will remember the locations of the compilers,so in future you can launch Qt Creator the normal way via Spotlight.
Step 4 - Update some QMake files (only necessary for Qt versions older than Qt 5.9.2)
The xcrun
or xcodebuild
utilities can be used to show where Xcode's Command Line Tools are installed,but only xcrun
works when Xcode itself is not installed.
Qt 5.9.2 and later
Recent Qt versions use xcrun
already, so there's nothing left for you to do!
Qt 5.9.1 and older
Older Qt versions try to use xcodebuild
to find out where the utilities are installed.This fails with the following error message unless Xcode is installed:
Project ERROR: Could not resolve SDK Path for 'macosx'Error while parsing file <filename.pro>
. Giving up.
You need to tell QMake to use xcrun
instead.
Open a Terminal and change directory to where the QMake files are stored.
Now copy and paste these new commands into the same Terminal windowto create backup copies of some files:
Press the Return key after the final command.
If that all went OK then run these commands to update the files:
You can see the changes made here if you are interested.
Reusing this material
Referencing
Qt without Xcode how-to by Peter Jonas (shoogle) / CC BY 4.0
License
Qt Mac Install
This work is licensed under a Creative Commons Attribution 4.0 International License.