Содержание
Небольшая заметка для тех, кто решил собрать Qt в статику. Обычно это необходимо для создание портативных версий программы, так как при статической сборке программа обычно состоит из одного файла и включает в себя большинство зависимостей.
Программа не будет работать в дистрибутивах с версией glibc меньшей, чем версия в текущем дистрибутиве
Порядок выполнения:
Пример сборки на Qt 4.8.0
- устанавливаем необходимые зависимости
sudo apt-get install build-essential ^libxcb.* libx11-xcb-dev libglu1-mesa-dev libxrender-dev libfontconfig1-dev
- скачиваем исходники Qt
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++ -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
- запускаем сборку
make -j3 # <количество ядер>+1
- устанавливаем
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