QGroundControl builds are supported for OSX, Linux, Windows, iOS and Android. QGroundControl uses [Qt](http://www.qt.io) as its cross-platform support library and uses [QtCreator](http://doc.qt.io/qtcreator/index.html) as its default build environment.
* OSX: OSX 10.7 or higher, 64 bit, clang compiler (IMPORTANT: XCode 8 requires a workaround described below)
* Ubuntu: 64 bit, gcc compiler
* Windows: Vista or higher, 32 bit, [Visual Studio 2013 compiler](http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop)
* Windows: Vista or higher, 32 bit, [Visual Studio 2015 compiler](http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop)
* iOS: 8.0 and higher
* Android: Jelly Bean (4.1) and higher
* Android: Jelly Bean (4.1) and higher. Standard QGC is built against ndk version 19.
* Qt version: 5.5.1 ONLY
###### Install QT
You need to install Qt as described below instead of using pre-built packages from say, a Linux distribution because QGroundControl needs access to private Qt headers.
* Download the [Qt installer](http://www.qt.io/download-open-source)
* Make sure to install Qt version **5.5.1** NOT 5.4.x, 5.6.x, 5.7.x, etc.
* If you don't install the full Qt 5.5 make sure you install Qt Location and Qt Quick Controls.
* Make sure to install Qt version **5.7.1** NOT 5.4.x, 5.6.x, 5.8.x, etc.
* Ubuntu: Set the downloaded file to executable using:`chmod +x`. Install to default location for use with ./qgroundcontrol-start.sh. If you install Qt to a non-default location you will need to modify qgroundcontrol-start.sh in order to run downloaded builds.
* Windows: Default installer not quite correct, use [this](http://download.qt.io/official_releases/qt/5.5/5.5.1/qt-opensource-windows-x86-msvc2013-5.5.1.exe) instead
* Windows: Make sure to install VS 2015 32 bit package.
@@ -59,24 +58,12 @@ You need to install Qt as described below instead of using pre-built packages fr
* Launch Qt Creator and open the `qgroundcontrol.pro` project.
* Select the appropriate kit for your needs:
* OSX: Desktop Qt 5.5.1 clang 64 bit
* Ubuntu: Desktop Qt 5.5.1 GCC bit
* Windows: Desktop Qt 5.5.1 MSVC2013 32bit
* Android: Android for armeabi-v7a (GCC 4.9, Qt 5.5.1)
* OSX: Desktop Qt 5.7.1 clang 64 bit
* Ubuntu: Desktop Qt 5.7.1 GCC bit
* Windows: Desktop Qt 5.7.1 MSVC2015 32bit
* Android: Android for armeabi-v7a (GCC 4.9, Qt 5.7.1)
* Note: iOS builds must be built using xCode: http://doc.qt.io/qt-5/ios-support.html. Use Qt Creator to generate the XCode project (*Run Qmake* from the context menu).
###### Special case for Xcode 8 and Qt 5.5.1
Xcode 8 broke the Qt 5.5.1 build system (qmake). As this is the version of Qt we're using for the moment, you will need to patch your Qt installation to make the build work. This is for both Mac OS X and iOS.
Under the tools directory, you will find a script used by the CI build to patch Qt (`patch_qt_for_xcode8.sh`). You can use this script as a starting point. You will need to edit a few variables it expects to run:
A Vagrantfile is provided to build QGroundControl using the [Vagrant](https://www.vagrantup.com/) system. This will produce a native Linux build which can be run in the Vagrant Virtual Machine or on the host machine if it is compatible.