Qt-5.2.1
Introduction à Qt5
Qt5 est une boite à outils
multi-plate-forme qui est largement utilisée pour le développement
d'application avec une interface graphique (GUI) (dans ce cas Qt5
est classée comme une boite à outils de boutons), et est également
utilisée pour le développement de programmes sans GUI comme est
outils en ligne de commande et les consoles pour serveurs. Un des
principaux utilisateurs de Qt5 est
le l'environnement KDE 5.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-7.5.
Information sur le paquet
Dépendances de Qt5
Requises
ALSA-Library-1.0.27.2, MesaLib-10.0.3,
xcb-util-image-0.3.9, xcb-util-keysyms-0.3.9, xcb-util-renderutil-0.3.8 et
xcb-util-wm-0.4.0
Recommandées
Certificate Authority
Certificates, Cups-1.7.1, D-BUS-1.6.18,
GLib-2.38.2, GStreamer Base
Plug-ins-0.10.36, ICU-52.1, libjpeg-turbo-1.3.0, libmng-2.0.2, libpng-1.6.9,
LibTIFF-4.0.3, mtdev-1.1.4,
OpenSSL-1.0.1f, PCRE-8.34 et SQLite-3.8.3.1
Facultative
GeoClue-0.12.0, gst-plugins-base-1.2.3 (Support de
QtWebKit HTML5 Video), gtk+-2.24.22 (Support de GTK+ Theme), IBus, libxkbcommon, MariaDB-10.0.8 ou MySQL-5.6.16,
PostgreSQL-9.3.3, PulseAudio-4.0 et unixODBC-2.3.2
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/qt5
Alternatives d'installation de Qt
L'installation de Qt présente
plusieurs challenges et choix. La complication de l'installation de
Qt est le fait qu'il y a deux versions, Qt4 et Qt5,
qui ont des programmes exécutables avec des noms identiques. Si
les deux paquets sont installés sur un système, la seule méthode
pour gérer quel ensemble de programmes est utilisé est soit de
contrôler le PATH
de l'utilisateur ou
de renommer les fichiers soit directement ou via des liens
symboliques. Les deux paquets ne peuvent pas être installés dans
le même répertoire.
Si vous installez seulement une des versions de Qt, le choix de
l'installation est facile. Vous pouvez soit installer le composant
dans plusieurs répertoires de la hiérarchie /usr
ou installer le paquet entièrement dans un
répertoire séparé de votre choix. Nous nous référons Ã
ces options comme "Méthode 1: Installation dans /usr" et "Méthode
2: Installation dans /opt".
Si les deux versions de Qt doivent être installée, une ou les
deux versions doivent être installées dans un répertoire
séparé. Pour la discussion ici nous utiliserons le répertoire
/opt
. La sélection de quelle version
doit être utilisée par des utilisateurs individuels sur un
système est contrôlé par la variable PATH
. D'autres systèmes peuvent être imaginés,
mais les éditeurs de BLFS trouvent la méthode du PATH
plus simple.
L'avantage d'installer dans /usr
est
qu'il n'y à pas de mise à jour des fichiers
/etc/ld.so.conf
ou /etc/man_db.conf
. Les fichiers du paquet sont
répartis dans plusieurs sous-répertoire de la hiérarchie
/usr
. C'est la méthode que le plus
de distributions commerciales utilisent. Le désavantage pour les
utilisateurs de BLFS est que la version de Qt ne peut pas être
mise à jour quand elle est utilisée. Par exemple, elle ne
peut pas être mise à jour dans un environnement KDE. cela
implique également de multiples versions de Qt sur votre système
et ne permet pas de retourner à une version existante de Qt
connue pour fonctionner.
L'avantage d'installer Qt dans un
répertoire personnalisé comme /opt/qt-4.8.5
ou /opt/qt-5.2.1
ou est que cela laisse tous les
fichiers du paquet consolidés dans une hiérarchie de répertoires
dédiées. En utilisant cette méthode, une mise à jour peut
être faite sans écraser une installation précédente et les
utilisateurs peuvent facilement retourner dans une version
précédente en changeant un lien symbolique ou simplement en
changeant la variable PATH. Cela permet également à un
développeur de maintenir des versions multiplus de Qt4 ou Qt5
pour tester.
Installation de Qt5
Attention
Si vous n'installez pas certaine des dépendances recommandées,
examinez la sortie de ./configure
--help pour vérifier comment les désactiver ou
utiliser les versions internes livrées avec le paquet des
sources.
Avertissement
Si Qt5 doit être réinstallé dans
le même répertoire qu'une précédente installation, lancez les
commandes suivantes depuis une console ou un gestionnaire de
fenêtres non Qt5. Elle écrase les bibliothèques Qt5 qui ne devraient pas être utilisées
pendant le processus d'installation.
Méthode 1: Installation dans /usr
Installez Qt5 en lançant les
commandes suivantes
Note
Si Qt5 n'est pas aussi installé dans le
répertoire /usr, modifiez l'entrée pour -bindir dessous en
/usr/bin.
export QT5LINK=/usr
./configure -prefix /usr \
-sysconfdir /etc/xdg \
-bindir /usr/bin \
-headerdir /usr/include/qt5 \
-archdatadir /usr/lib/qt5 \
-datadir /usr/share/qt5 \
-docdir /usr/share/doc/qt5 \
-translationdir /usr/share/qt5/translations \
-examplesdir /usr/share/doc/qt5/examples \
-confirm-license \
-opensource \
-dbus-linked \
-openssl-linked \
-system-sqlite \
-no-nis \
-nomake examples \
-opengl es2 \
-optimized-qmake &&
make
Ce paquet n'a pas de suite de tests.
Enlevez les références au répertoire de construction des fichiers
.pc
en lançant la commande suivante:
find . -name "*.pc" -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \;
Maintenant, en tant qu'utilisateur root
:
make install
Enlevez les références au répertoire de construction des fichiers
installés en lançant la commande suivante en tant qu'utilisateur
root
:
sed -e "s:$PWD/qtbase:/usr/lib/qt5:g" \
-i /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri &&
find /usr/lib/lib{qgsttools_p,Qt5*}.prl -exec sed -i -r \
'/^QMAKE_PRL_BUILD_DIR/d;s/(QMAKE_PRL_LIBS =).*/\1/' {} \;
Methode 2: Installation dans /opt/qt-5.2.1
Cette partie fournit l'installation de Qt5 avec la plupart des
fichiers dans le répertoire /opt
.
export QT5DIR=/opt/qt-5.2.1 &&
export QT5LINK=/opt/qt5 &&
./configure -prefix $QT5DIR \
-sysconfdir /etc/xdg \
-confirm-license \
-opensource \
-dbus-linked \
-openssl-linked \
-system-sqlite \
-no-nis \
-nomake examples \
-opengl es2 \
-optimized-qmake &&
make
Maintenant, en tant qu'utilisateur root
:
make install &&
ln -svfn $QT5DIR /opt/qt5
Enlevez les références au répertoire de construction dans les
fichiers .pc
installés en lançant les
commandes suivantes en tant qu'utilisateur root
:
find $QT5DIR -name qt_lib_bootstrap_private.pri \
-exec sed -i -e "s:$PWD/qtbase:/$QT5DIR/lib/:g" {} \; &&
find $QT5DIR -name \*.prl \
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
Liez symboliquement les exécutables Qt5 dans /usr/bin
en lançant les commandes suivantes en
tant qu'utilisateur root
:
install -v -dm755 /usr/share/pixmaps/ &&
install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
/usr/share/pixmaps/assistant-qt5.png &&
install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
/usr/share/pixmaps/designer-qt5.png &&
install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
/usr/share/pixmaps/linguist-qt5.png &&
install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
/usr/share/pixmaps/qdbusviewer-qt5.png &&
install -dm755 /usr/share/applications &&
cat > /usr/share/applications/assistant-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Assistant
Comment=Shows Qt5 documentation and examples
Exec=$QT5LINK/bin/assistant
Icon=assistant-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF
cat > /usr/share/applications/designer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt5 applications
Exec=$QT5LINK/bin/designer
Icon=designer-qt5.png
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
cat > /usr/share/applications/linguist-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Linguist
Comment=Add translations to Qt5 applications
Exec=$QT5LINK/bin/linguist
Icon=linguist-qt5.png
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF
cat > /usr/share/applications/qdbusviewer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 QDbusViewer
GenericName=D-Bus Debugger
Comment=Debug D-Bus applications
Exec=$QT5LINK/bin/qdbusviewer
Icon=qdbusviewer-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Debugger;
EOF
Continuing for Both Methods
Pour toutes les méthodes, installez les images et créez les
entrées de menu pour les applications installées. Soyez certain
que la variable QT5LINK
est définie
dans l'environnement root et en tant qu'utilisateur root
:
cat > /etc/profile.d/qt5.sh << EOF
# Begin /etc/profile.d/qt5.sh
QT5DIR=/usr
export QT5DIR
# End /etc/profile.d/qt5.sh
EOF
Explications des commandes
sed -e "..." -e "..." -i
...: Cette commande corrige la détection de
libmng 2.0.
-confirm-license
: Acceptez
la licence sans poser la question à l'utilisateur pendant la
configuration.
-opensource
: Installez la
version opensource de Qt5.
-release
: Ce paramètre
désactive la construction avec les symboles de déboguage.
-nomake examples
: Ce
paramètre désactive la construction des programmes d'exemple inclus
dans les sources. Enlevez le si vous voulez les construire.
-system-harfbuzz
: Ce
paramètre active l'utilisation de la version du système de
Harfbuzz qui corrige quelques
problèmes de rendu de police dans les applications Qt5.
-system-sqlite
: Ce
paramètre active l'utilisation de la version du système de
SQLite.
-no-nis
: Ce paramètre
désactive le support pour Network Information Service (NIS) qui est
enlevé dans les dernières versions de Glibc.
-dbus-linkend
-openssl-linkend
: Ces paramètres active la liaison
explicite des bibliothèques D-Bus
et OpenSSL dans les bibliothèques
Qt5 au lieu de les dlopen()-itiser.
-opengl es2
: Ce paramètre
active le support de OpenGL ES2 dans Qt5.
-optimized-qmake
: Ce
paramètre active la construction du programme optimisé qmake.
Configuration de Qt
Information de
Configuration
Créez les entrées du menu pour les applications installées en
lançant les commandes suivantes en tant qu'utilisateur
root
:
Choisir la version de programme de Qt
si vous installez Qt4 et Qt5, vous pouvez utiliser des scripts
simples pour selectionner l'ensemble des programmes Qt
actuellement actifs. En tant qu'utilisateur root
, creez les scripts suivants:
cat > /usr/bin/setqt4 << 'EOF'
if [ "x$QT5DIR" != "x/usr" ]; then pathremove $QT5DIR/bin; fi
if [ "x$QT4DIR" != "x/usr" ]; then pathprepend $QT4DIR/bin; fi
echo $PATH
EOF
cat > /usr/bin/setqt5 << 'EOF'
if [ "x$QT4DIR" != "x/usr" ]; then pathremove $QT4DIR/bin; fi
if [ "x$QT5DIR" != "x/usr" ]; then pathprepend $QT5DIR/bin; fi
echo $PATH
EOF
Vous pouvez utiliser la version approprie de Qt en lancant
source setqt4 ou
source setqt5 comme
vous le souhaitez. (Initialisez le PATH ne fonctionne pas dans un
sous-repertoire.) Une autre technique qui peut etre utilisee est
de creer des alias appropries dans votre ~/bashrc comme
alias setqt4='source
setqt4'.
Contenu
Programmes installés:
assistant, designer, lconvert, linguist,
lrelease, lupdate, moc, pixeltool, qcollectiongenerator,
qdbuscpp2xml, qdbus, qdbusviewer, qdbusxml2cpp, qdoc,
qhelpconverter, qhelpgenerator, qmake, qml1plugindump,
qmlbundle, qmlimportscanner, qmlmin, qmlplugindump,
qmlprofiler, qml, qmlscene, qmltestrunner, qmlviewer, qtpaths,
rcc, syncqt.pl, uic, xmlpatterns, and
xmlpatternsvalidator
Bibliothèques installées:
libqgsttools_p.so, libQt5Bluetooth.so,
libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so,
libQt5Core.so, libQt5DBus.so, libQt5Declarative.so,
libQt5DesignerComponents.so, libQt5Designer.so, libQt5Gui.so,
libQt5Help.so, libQt5MultimediaQuick_p.so, libQt5Multimedia.so,
libQt5MultimediaWidgets.so, libQt5Network.so, libQt5Nfc.so,
libQt5OpenGLExtensions.a, libQt5OpenGL.so,
libQt5PlatformSupport.a, libQt5Positioning.so,
libQt5PrintSupport.so, libQt5QmlDevTools.a, libQt5Qml.so,
libQt5QuickParticles.so, libQt5Quick.so, libQt5QuickTest.so,
libQt5Script.so, libQt5ScriptTools.so, libQt5Sensors.so,
libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so,
libQt5UiTool$ libQt5WebKit.so, libQt5WebKitWidgets.so,
libQt5Widgets.so, libQt5X11Extras.s$ libQt5XmlPatterns.so, and
libQt5Xml.so
Répertoires installés:
/usr/include/qt5, /usr/lib/qt5,
/usr/share/doc/qt5 et /usr/share/qt5 OU /opy/qt5 et
/opt/qt-5.2.1
Description courte
assistant
|
est un outil pour la présentation de documentation en
ligne.
|
designer
|
est un constructeur complet de GUI. Il inclut des
possibilités puissantes comme le mode de
prévisualisation, la couche de boutons automatiques, le
support des boutons personnalisés et un éditeur de
propriétés avancées.
|
linguist
|
fournit un support pour la traduction d'applications dans
les langues locales.
|
lrelease
|
est un outil simple en ligne de commande. Il lit les
fichiers de projet Qt et produit des fichiers de messages
utilisés par l'application.
|
lupdate
|
lit les fichiers de projet Qt, trouve les chaînes
traduisibles dans le source spécifié, les fichiers
d'entête et d'interface Qt et produit ou met à jour les
fichiers de traduction dans le fichier projet.
|
moc
|
génère un code de support des meta-objets Qt.
|
pixeltool
|
est une loupe de bureau et tant que vous bougez votre
souris dans l'écran il affichera le contenu agrandi dans
sa fenêtre.
|
qmake
|
utilise les informations enregistrées dans les fichiers
projet pour déterminer ceux qui doivent aller dans les
makefiles qu'il génère.
|
rcc
|
est un compilateur de ressources utilisé en conjonction
avec le dessinateur.
|
uic
|
est le compilateur d'interfaces utilisateur Qt.
|
Last updated on 2013-08-11 04:12:50 +0200