I. Introduction▲
Ce tutoriel s'adresse aux utilisateurs de Firebird et d'InterBase souhaitant développer un applicatif Qt autour de leur SGBD préféré.
Rappelons que Qt s'appuie sur le framework QtSql pour se connecter à une base de données par le biais de drivers propres à chacun d'entre eux (comme le fait JDBC). Dans cet article j'expliquerai brièvement comment compiler le driver QIBASE, nécessaire pour Firebird/InterBase, sur les distributions Linux ne l'ayant pas intégré dans leurs dépôts.
Ce tutoriel est écrit depuis Ubuntu 10.04 « Lucid Lynx » mais il est tout à fait applicable aux autres distributions (et, a fortiori, autres systèmes d'exploitation). Dans ce cas, prenez soin de contrôler les chemins des bibliothèques et outils Qt.
II. Première étape▲
Pour connaître la version installée sur l'ordinateur, taper :
qmake -version
Et la bibliothèque Firebird :
sudo apt-get install firebird2.1-dev
III. Deuxième étape▲
Préparer Qt :
tar -xzf qt-everywhere-opensource-src-4.6.3.tar.gz
cd qt-everywhere-opensource-src-4.6.3
cd src/plugins/sqldrivers/ibase
Dans ce dossier se trouve ibase.pro. Éditez-le avec votre éditeur favori et modifiez la ligne suivante :
unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS *= -lgds
Elle doit devenir :
unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS *= -lfbclient
En effet, le driver est initialement prévu pour InterBase. Si vous utilisez ce dernier, ne modifiez rien !
IV. Dernière étape▲
Compiler le driver :
qmake
make
Retourner au dossier qt-everywhere-opensource-src-4.6.3. Installer le plugin dans le répertoire de Qt :
sudo cp plugins/sqldrivers/libqsqlibase.so /usr/lib/qt4/plugins/sqldrivers/
Et c'est tout. Maintenant, vos applications prendront en compte le driver.
V. Remerciements▲
Merci à dourouc05, myzu69, johnlamericain, Benj. et jacques_jean pour leur aide à la relecture de cet article !