|  | Home · Examples

# Fine-Tuning Features in Qt for Embedded Linux

In many cases, only a fixed set of applications are deployed on an embedded device, making it possible to save resources by minimizing the size of the associated libraries. The Qt installation can easily be optimized by avoiding to compile in the features that are not required.

To disable a particular feature, just run the `configure` script for Qt for Embedded Linux with the `-no-feature-<feature>` option. For example:

    ./configure -no-feature-thread

The feature can easily be enabled again by running `configure` with the `-feature-<feature>` option. You can look up the different feature definitions in `/src/corelib/global/qfeatures.txt`.

If you want to disable a lot of features, it is more comfortable to use the `qconfig` tool. You can disable a set of features by creating a custom configuration file that defines the preferred subset of Qt's functionality. Such a file uses macros to disable the unwanted features, and can be created manually or by using the `qconfig` tool located in the `/tools/qconfig` directory.

Note: The `qconfig` tool is intended to be built against Qt on desktop platforms.

The `qconfig` tool's interface displays all of Qt's functionality, and allows the user to both disable and enable features. The user can open and edit any custom configuration file located in the `/src/corelib/global` directory. When creating a custom configuration file manually, a description of the currently available Qt features can be found in the `/src/corelib/global/qfeatures.txt` file.

Note that some features depend on others; disabling any feature will automatically disable all features depending on it. The feature dependencies can be explored using the `qconfig` tool, but they are also described in the `/src/corelib/global/qfeatures.h` file.

To be able to apply the custom configuration, it must be saved in a file called `qconfig-myfile.h` in the `/src/corelib/global` directory. Then use the `configure` tool's `-qconfig` option and pass the configuration's filename without the `qconfig-` prefix and `.h` extension, as argument. For example:

    ./configure -qconfig myfile

Qt provides several ready-made custom configuration files, defining minimal, small, medium and large installations, respectively. These files are located in the `/src/corelib/global` directory.

See also:
  Performance Tuning.