/****************************************************************************
**
** Copyright (c) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator
**
**
** GNU Free Documentation License
**
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
**
****************************************************************************/

// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************

/*!
    \contentspage index.html
    \previouspage creator-mime-types.html
    \page creator-building-running.html
    \nextpage creator-building-targets.html

    \title Building and Running

    \image creator_buildingrunning.png

    \QC provides support for building, running, and deploying Qt applications
    for different target platforms, or using different compilers, debuggers, or
    Qt versions.
    \l{glossary-buildandrun-kit}{Kits} define the tools,
    device type and other settings to use when building and running your project.

    \list
        \o  \l{Building for Multiple Platforms}

            \e {Build configurations} contain everything you need to compile
            the sources into binaries. Build configurations use the tools and settings
            defined in their corresponding \l{glossary-buildandrun-kit}{kit}.

        \o  \l{Running on Multiple Platforms}

            \e {Run configurations} start the application in the location
            where it was copied by the \e{deploy configuration}. By default,
            when you select the \gui Run function, \QC builds the project,
            deploys it to the device defined in the \l{glossary-buildandrun-kit}{kit},
            and runs it there. However,
            if you have not made any changes to the project since you last
            built and deployed it, \QC simply runs it again.

        \o  \l{Deploying to Mobile Devices}

            \e {Deploy configurations} handle the packaging and copying of
            the necessary files to a location you want to run the executable
            at. The files can be copied to a location in the file system of
            the development PC or a mobile device.

        \o  \l{Connecting Mobile Devices}

            When you install tool chains for device types as part of an SDK,
            the build and run settings for mobile device types might be set up
            automatically. However, you might need to install and configure some
            additional software on the devices to be able to connect to them
            from the development PC.

    \endlist

    \section1 Related Topics

    \list

        \o  \l{Customizing the Build Process}

            By default, running an application also builds it and deploys it to
            a location from where it can be run on the device. You can change
            the relationship between the build, run, and deploy configurations.

        \o  \l{http://doc.qt.digia.com/qtsimulator/index.html}
            {Using Qt Simulator}

            You can use the \QS to test Qt applications that are
            intended for mobile devices in an environment similar to that of
            the device. You can change the information that the device has
            about its configuration and environment.
            \QS does not support any device specific APIs by design.
            Therefore, applications that run well on \QS also run on
            any device that hosts the Qt and Qt Mobility libraries.
            The \QS is installed as part of the Qt 4 SDK. After it is
            installed, you can create a \l{glossary-buildandrun-kit}{kit}
            with \gui Desktop device type and the Qt Simulator Qt version for
            building and running your projects.

        \o  \l{Using Maemo or MeeGo Harmattan Emulator}

            You cannot use \QS to test applications that use device
            specific libraries, such as native device APIs. To test such
            applications, use the device emulators or real devices. With the
            emulators, you can test how your application reacts to hardware
            controls, such as the power button, and to the touch screen.
            Usually, it is faster to test on a real device connected to the
            development PC than to use the emulators. The emulator is installed
            as part of the Qt 4 SDK.

    \endlist

*/
