Home · All Classes · Main Classes · Grouped Classes · Modules · Functions

[Previous: qmake Tutorial] [Contents]

qmake Common Projects

This chapter describes how to set up qmake project files for three common types of project that are based on Qt. Although all kinds of project use many of the same variables, each of them use special variables to define

Building an Application

The app Template

The app template tells qmake to generate a Makefile that will build an application. With this template, the type of application can be specified by adding one of the following options to the CONFIG variable definition:

OptionDescription
windowsThe application is a Windows GUI application.
consoleapp template only: the application is a Windows console application.

When using this template the following qmake system variables are recognized. You should use these in your .pro file to specify information about your application.

You only need to use the system variables that you have values for, for instance, if you don't have any extra INCLUDEPATHs then you don't need to specify any, qmake will add in the default ones needed. For instance, an example project file might look like this:

    TEMPLATE = app
    DESTDIR  = c:\helloapp
    HEADERS += hello.h
    SOURCES += hello.cpp
    SOURCES += main.cpp
    DEFINES += QT_DLL
    CONFIG  += qt warn_on release

For items that are single valued, e.g. the template or the destination directory, we use "="; but for multi-valued items we use "+=" to add to the existing items of that type. Using "=" replaces the item's value with the new value, for example if we wrote DEFINES=QT_DLL, all other definitions would be deleted.

Building a Library

The lib Template

The lib template tells qmake to generate a Makefile that will build a library. When using this template, in addition to the system variables mentioned above for the app template the VERSION variable is supported. You should use these in your .pro file to specify information about the library.

When using the lib template, the following options determine the type of library that is built:

OptionDescription
dllThe library is a shared library (dll).
staticlibThe library is a static library.
pluginThe library is a plugin; this also enables the dll option.

Building a Plugin

The plugin Template

The plugin template tells qmake to generate a Makefile that will build a plugin, usually in the form of a library. As with the lib template, the VERSION variable is supported. You should use this to specify information about the plugin.

Building a Qt Designer Plugin

Qt Designer plugins are built using a specific set of configuration settings that depend on the way Qt was configured for your system. For convenience, these settings can be enabled by adding designer to the project's CONFIG variable. For example:

    CONFIG      += designer plugin debug_and_release

See the Qt Designer examples for more examples of plugin-based projects.

[Previous: qmake Tutorial] [Contents]


Copyright © 2005 Trolltech Trademarks
Qt 4.1.0
Hosted by uCoz