Пакет Qt содержит C++ GUI-библиотеку. Она полезна для создания графических приложений или исполнения графических приложений, которые динамически сликованы с библиотекой Qt. Одним из наибольших пользователей Qt является среда KDE.
Адрес (HTTP): http://sunsite.rediris.es/mirror/Qt/source/qt-x11-free-3.3.3.tar.bz2
Адрес (FTP): ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.3.tar.bz2
Контрольная сумма: 3e0a0c8429b0a974b39b5f535ddff01c
Размер: 14.4 MB
Требуемое дисковое пространство: 250 MB
Расчетное время сборки: 13.4 SBU или 19.3 SBU полное
NAS-1.6, CUPS-1.1.23, MySQL-4.1.8a, PostgreSQL-7.4.6, SQLite, Firebird и unixODBC .
Есть несколько способов установки такого сложного пакета, как Qt. Файлы не полностью позиционно независимы. Процедура установки выполняет программу pkg-config для определения положения исполняемых файлов пакета, библиотек, заголовков и других файлов. Для Qt pkg-config будет искать файл lib/pkgconfig/qt-mt.pc, который должен быть изменен при перемещении пакета. Этот файл правильно настраивается процессами сборки.
Местом установки файлов по умолчанию является /usr/local/qt/. Многие коммерческие дистрибутивы размещают файлы в системной иерархии /usr. Также пакет может быть установлен в любой произвольный каталог.
Этот раздел покажет два различных способа.
Время сборки Qt достаточно большое. Если Вы хотите сэкономить время, и Вам не нужны учебники и примеры, то измените первую строчку команды make на:
make sub-tools
Преимуществом этого способа является то, что нет необходимости обновлять файлы /etc/ld.so.conf или /etc/man.conf. Файлы пакета распространяются в пределах нескольких подкаталогов в иерархии /usr. Это способ, используемый в большинстве коммерческих дистрибутивов.
sed -i "s:cp -f:install:" mkspecs/linux-g++/qmake.conf &&
bash
export PATH=$PWD/bin:$PATH &&
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH &&
./configure -prefix /usr -docdir /usr/share/doc/qt \
-headerdir /usr/include/qt -plugindir /usr/lib/qt/plugins \
-datadir /usr/share/qt -translationdir \
/usr/share/qt/translations -sysconfdir /etc/qt -qt-gif \
-system-zlib -system-libmng -no-exceptions -thread \
-plugin-imgfmt-png -system-libjpeg -system-libpng &&
find -type f -name Makefile | xargs sed -i "s@-Wl,-rpath,/usr/lib@@g" &&
make &&
make install &&
ln -sf libqt-mt.so /usr/lib/libqt.so &&
rm /usr/bin/qmake &&
install -m755 -oroot -groot qmake/qmake /usr/bin &&
cp -r doc/man /usr/share &&
cp -r examples /usr/share/doc/qt &&
exit
Этот способ рекомендуется разработчиками Qt . Его преимуществом является содержание всех файлов пакета, сосредоточенных в иерархии указанного каталога. При использовании этого способа любое обновление может быть сделано без перезаписи предыдущей установки, и пользователи могут легко вернуться на предыдущую версию изменением одной символической ссылки.
Разработчики Qt по умолчанию используют /usr/local/qt/, хотя эта процедура помещает файлы в /opt/qt-3.3.3/, а затем создает символическую ссылку на /opt/qt/.
bash
export QTDIR=$PWD &&
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH &&
export PATH=$PWD/bin:$PATH &&
./configure -prefix /opt/qt-3.3.3 -qt-gif -system-libpng \
-system-libmng -system-zlib -system-libjpeg -no-exceptions \
-thread -plugin-imgfmt-png &&
make &&
make install &&
ln -sfn qt-3.3.3 /opt/qt &&
ln -s libqt-mt.so /opt/qt/lib/libqt.so &&
rm /opt/qt-3.3.3/bin/qmake &&
install -m755 -oroot -groot qmake/qmake /opt/qt-3.3.3/bin &&
cp -r doc/man /opt/qt/doc &&
cp -r examples /opt/qt/doc
exit
Если Вы поместите ключ -plugin-sql-[драйвер] в команду configure , то Вы также должны поместить и -I [/путь/к/sql/заголовкам] для того, чтобы make смог найти подходящие файлы заголовков.
sed -i "s:cp -f:install:" mkspecs/linux-g++/qmake.conf: install безопаснее, чем cp, когда используются библиотеки.
bash: Эта команда делает вход в подоболочку для изоляции изменений окружения.
export QTDIR=$PWD: Эта команда указывает, где размещен корень каталога Qt.
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH: Эта команда позволяет еще не установленным библиотекам Qt быть использованными еще не установленными программами Qt.
export PATH=$PWD/bin:$PATH: Эта команда позволяет процессам сборки найти поддерживаемые исполняемые файлы.
-qt-gif: Этот ключ добавляет поддержку gif-файлов в библиотеках.
-system-zlib -system-libpng: Этот ключ заставляет инструкции сборки использовать разделяемые библиотеки, находящиеся в Вашей системе, вместо создания собственного набора библиотек поддержки этих функций.
-plugin-imgfmt-png: Этот ключ разрешает компоновку libpng.
-no-exceptions: Этот ключ выключает исключения кодирования, генерируемые C++-компилятором.
-thread: Этот ключ добавляет поддержку multi-threading.
find -type f -name Makefile | xargs sed -i "s@-Wl,-rpath,/usr/lib@@g": Эта команда удаляет жестко прописанные пути. В противном случае, uic всегда пытается запуститься с библиотеками Qt в /usr/lib.
ln -s libqt-mt.so /usr/lib/libqt.so: Эта команда позволяет скрипту configure найти рабочую установку Qt.
rm .../qmake; install -m755 -oroot -groot qmake/qmake .../bin: Программа qmake установлена некорректно командой make install. Эти две команды установят программу корректно.
cp -r doc/man /usr/share (или /opt/qt/doc): Эта команда устанавливает страницы man, которые пропущены в команде make install.
cp -r examples /usr/share/doc/qt (или /opt/qt/doc): Эта команда устанавливает примеры, которые пропущены в команде make install.
exit: Эта команда возвращает в основную оболочку и восстанавливает переменные окружения, установленные ранее.
Если Вы установили Qt, используя способ 2, то Вам понадобится обновить некоторые файлы конфигурации, чтобы Qt корректно находился другими пакетами и системными процессами.
Обновите файлы /etc/ld.so.conf и /etc/man.conf:
cat >> /etc/ld.so.conf << "EOF"
# Begin qt addition to /etc/ld.so.conf
/opt/qt/lib
# End qt addition
EOF
ldconfig
cat >> /etc/man.conf << "EOF"
# Begin qt addition to man.conf
MANPATH /opt/qt/doc/man
# End qt addition to man.conf
EOF
Обновите переменную окружения PKG_CONFIG_PATH в Вашем ~/.bash_profile или /etc/profile при помощи следующего:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
Переменная окружения QTDIR должна быть установлена до сборки пакета, который зависит от Qt. Добавьте следующее в скрипт инициализации .bash_profile для каждого пользователя, который собирает пакеты с использованием библиотек Qt. Альтернативно, переменная может быть установлена в общесистемном файле /etc/profile.
export QTDIR=/opt/qt
Если Вы хотите иметь исполняемые файлы Qt в пути поиска файлов Вашей оболочки, то обновите переменную окружения PATH в Вашем ~/.bash_profile или /etc/profile для включения /opt/qt/bin.
Как и с большинством библиотек, не нужно делать особой конфигурации. После обновления /etc/ld.so.conf, как объяснено выше, запустите /sbin/ldconfig, и ldd сможет найти разделяемые библиотеки.
Библиотека Qt/ X11 содержит API, необходимый для использования программ, основанных на Qt GUI.
Пакет Qt содержит assistant, designer, linguist, lrelease, lupdate, moc, qm2ts, qmake, qtconfig, uic и библиотеки libqt-mt и libqui.