Compiler le plug-in QIBASE pour Ubuntu

Emmanuel Bourgerie

Ce tutoriel s'adresse aux utilisateurs de Firebird et d'InterBase souhaitant développer un applicatif Qt autour de leur SGBD préféré.

Commentez

- Titre : Compiler le plug-in QIBASE pour Ubuntu

- Auteur : Emmanuel Bourgerie

- Parution : 7 janvier 2011

- Mise à jour : 8 janvier 2011

- Licence : Copyright ® 2011 Emmanuel Bourgerie. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Première étape

- III. Deuxième étape

- IV. Dernière étape

- V. Remerciements

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

Télécharger le framework Qt.

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 !