Небольшая заметка для тех, кто решил собрать Qt в статику. Обычно это необходимо для создание портативных версий программы, так как при статической сборке программа обычно состоит из одного файла и включает в себя большинство зависимостей.

Программа не будет работать в дистрибутивах с версией glibc меньшей, чем версия в текущем дистрибутиве

Порядок выполнения:

Пример сборки на Qt 4.8.0

  1. устанавливаем необходимые зависимости
    sudo apt-get install build-essential ^libxcb.* libx11-xcb-dev libglu1-mesa-dev libxrender-dev libfontconfig1-dev

  2. скачиваем исходники Qt

    wget http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz

  3. распаковываем

    tar -zxvf qt-everywhere-opensource-src-4.8.0.tar.gz

  4. переходим в нужную директорию

    cd qt-everywhere-opensource-src-4.8.0/

  5. конфигурируем (данный набор ключей больше для примера, чем для использования, так как он выключает почти все, кроме основных компонентов)

     ./configure -platform linux-g++
    -release \ # собираем только релиз, без дебага
    -static \ # сам ключ статики
    -fontconfig \ # без этого ключа могут криво отображаться шрифты
    -opensource \ # задаем тип лицензии
    -confirm-license \ # соглашаемся с ним
    -gtkstyle \
    # остальные ключи не обязательны, но ускорят сборку
    -no-webkit \ # отключаем вебкит   (долго собирается, обычно не используется)
    -nomake demos \ # отключаем демки (долго собираются, не нужны)
    -nomake examples \ # отключаем примеры (не нужны)
    -no-libjpeg \
    -no-cups \
    -no-openvg \
    -no-libmng \
    -no-gif \
    -qt-libpng \
    -no-libtiff \
    -no-accessibility \
    -no-phonon \
    -no-script \
    -no-declarative \
    -no-declarative-debug \
    -no-openssl \
    -no-qt3support \ # отключаем поддержку Qt3
    -no-scripttools \
    -no-exceptions 

  6. запускаем сборку

    make -j3 # <количество ядер>+1

  7. устанавливаем

    sudo make install

По умолчанию Qt установится в /usr/local/Trolltech/Qt-<версия>

Проверенно на 10.04-12.04

Готовый скрипт

sudo apt-get install build-essential ^libxcb.* libx11-xcb-dev libglu1-mesa-dev libxrender-dev libfontconfig1-dev -y
wget http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.0.tar.gz
tar -zxvf qt-everywhere-opensource-src-4.8.0.tar.gz
cd qt-everywhere-opensource-src-4.8.0/
./configure -platform linux-g++ -no-libjpeg -no-cups -gtkstyle -no-openvg -no-libmng -no-gif -qt-libpng -no-libtiff -no-accessibility -no-phonon -no-script -no-declarative -no-declarative-debug -release -static -fontconfig -opensource -no-openssl -no-webkit -no-qt3support -no-scripttools -nomake demos -nomake examples -confirm-license -no-exceptions
make
sudo make install