Qt Build Environment
Currently there are two desktop tools in
SVN that are based on the
Qt4 framework. Qt4 is available for all major Operating Systems (Linux, Windows, MacOS X).
Setup on Windows (2000, XP, Vista, 7)
On Windows Qt itself support various compilers. We're only using the gcc compiler as provided by the
MinGW project. You also need some additional tools that are standard on Unix systems.
Qt4
You need a Qt framework that is build with the MinGW gcc compiler and the used compiler. The easiest way is to install the
Qt SDK which includes a pre-built Qt and the MinGW compiler. The SDK also includes the integrated development environment
Qt Creator.
Note: The Qt SDK does not include
libz
in its MinGW installation. This is not a bug in the SDK because you can link libz implicitly, we want to link it explicitly though. You can simply add this by downloading the libz dll and dev packages from the MinGW website and extracting the archives into the MinGW installation.
MinGW
Note: The Qt SDK comes with MinGW bundled. If you installed the Qt SDK you don't need to install MinGW separately.
If you want to go the manual route you can also install MinGW yourself (follow the instructions on the MinGW website). You then can use the "Qt libraries" from the Qt website instead or get the source and build Qt yourself.
MSYS
Various
Makefiles
use Unix tools that are not present on Windows. The easiest way to get those is to install
MSYS 1.0.11. Newer versions of MSYS don't come bundled as installer, but that version is sufficient. If you're installing MinGW yourself (i.e. you are
not using the Qt SDK) install msys using
mingw-get
as described on the MinGW homepage.
Environment
Both MinGW and MSYS needs to be accessible from within the PATH environment variable. To do this you can
- add the paths permanently to the PATH environment variable. Make sure both MSYS and MinGW are at the beginning of the PATH list.
Note: This might override some Windows programs and cause issues with other programs.
- manually set the PATH environment variable when starting the command line. This is as simple as typing
set PATH=c:\MSYS\1.0\bin;c:\Qt\2010.04\mingw\bin;%PATH%
.
- create a
cmd
script that sets the environment variable and keeps a window open. You can then invoke this script instead of running cmd.exe
for building.
Rockbox source code
Get the source code from SVN as described in
UsingSVN.
Setup on Linux
Qt is part of all major Linux distributions. Install the developments tools (various distributions have package groups for that) and the Qt development package (you also need
qmake
which is part of Qt. Some distributions split it out into a separate package).
Note: some distributions install the
qmake
binary as
qmake-qt4
.
Setup on Mac OS X
You need to install
- XCode (available on the OS X installation disk and at the Apple website)
- Qt itself. If you intend to build universal binaries you need the Carbon version of Qt. Installing the libraries version is sufficient for compiling.
Building Qt4
Note: you don't need to build Qt4 yourself if you installed the Qt SDK and don't want to build statically linked binaries.
To create binaries that are statically linked against Qt you need to rebuild Qt statically. A statically built Qt is used for building the binaries provided to avoid having to extract additional DLL files.
(add description how to build Qt statically here)
Building the programs
Currently the following desktop programs use the Qt framework:
Please refer to their respective wiki pages on additional or changed build steps. If you have the build environment set up and the environment variables set correctly building usually is as simple as the following:
- open the command window with the correct environment set
- change to the source folder
- run
qmake
. If you don't have qmake
in your path (which is the case if you installed the Qt SDK) invoke it with the complete path. I.e. c:\Qt\2010.04\qt\bin\qmake.exe
.
- run
mingw32-make
. This has to be in your PATH
, as otherwise the system won't find the compiler as well. If it's not in your PATH
you haven't set up the environment correctly.
Platform specifics
Windows
OS X
If you want to build universal binaries targeting OS X 10.4 and up (configured in the program project file) you need to use the correct
QMAKESPEC
. On 10.6 Qt defaults to building xcode project files targeting 10.5 and up. You can select the used makespec in two ways (you don't need this when using
deploy.py
as it's already included in that):
- set the environment variable
QMAKESPEC
to macx-g++40
, i.e. run export QMAKESPEC=macx-g++40
before running qmake
- use the
qmake
command line option -spec
, i.e. run qmake
as qmake -spec macx-g++40
.
Linux
You can add the (undocumented) option
-config silent
to the
qmake
run. This will make the compiler output much more silent, giving a better chance to spot compiler warnings. This is especially useful when developing.
Using deploy.py
deploy.py
is a Python script to automate building and releasing the Qt based programs. To use it you need the followign:
Copyright © by the contributing authors.