Wiki de QtFR.org

Des tutos, des articles et des trucs et astuces

Outils pour utilisateurs

Outils du site


compilation_du_driver_sql_pour_firebird_sous_windows_et_qt5.5

Voici un tuto sur la compilation du driver SQL pour firebird pour windows et réalisé sur :

  • Qt 5.5
  • Compilateur MinGw
  • Windows

D'abord, vérifier si le driver est disponible avec un programme de test :

#include <QCoreApplication>
#include <QSqlDatabase>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    qDebug() << QSqlDatabase::drivers();
    
    return a.exec();
}

et en ajoutant dans le .pro :

QT += sql

En l'exécutant, ce programme de test revoie une liste. QIBASE n'est pas dans la liste. Il faut donc le compiler.

Pour cela :

  • Télécharger la base Firebird : http://www.firebirdsql.org/en/firebird-2-5-5/
    • Perso j'ai pris Firebird-2.5.5.26952_0_Win32.exe
      • Attention, si vous utilisez un compilateur 32bit avec Qt alors vous devez installer un Firebird 32bit, et cela même si votre windows est en 64bit.
  • Installer la base Firebird.
    • Perso je l'ai installé dans C:\Firebird_2_5
    • Vérifier la présence des dossier C:\Firebird_2_5\lib et C:\Firebird_2_5\include .
  • Ouvrir le terminal pré-configuré pour Qt :
    • Menu_Démarrer→Tous_les_Programmes→Qt→Version_De_La_Lib_Qt→Compilateur_Et_Version_du_compilateur→terminal
      • soit chez moi : Menu_Démarrer→Tous_les_Programmes→Qt→5.5→“MinGW 4.9 (32bit)”→“Qt 5.5 for Desktop (MinGW 4.9.2 32 bit)”
  • dans le terminal, aller à l'endroit des source du plugin ibase.
    • Commande “cd ..” dans le terminal pour remonter au dossier parent
    • Commande “cd Qt_test” par exemple dans le terminal pour descendre dans le dossier enfant nommé Qt_test
    • Ou alors :
      • Entrer “cd ”
      • Puis Copier le chemin du dossier contenant les source du plugin ibase. Le chemin est disponible dans l'explorateur de fichier Windows.
      • Et Coller ce chemin dans le terminal Windows. Attention le ctrl + v pour coller dans le terminal ne fonctionne pas, il faut utiliser le clique droit puis sélectionner Coller.
    • Enfin valider par la touche Entrer.
    • Dans mon cas, c'est le dossier C:\Qt\5.5\Src\qtbase\src\plugins\sqldrivers\ibase
      • Donc dans le terminal Qt, faites :
cd C:\Qt\5.5\Src\qtbase\src\plugins\sqldrivers\ibase
  • Vérifier la présence du fichier ibase.pro dans ce dossier.
  • Configurer les sources avec le chemin de firbird précédemment installé :
  • Dans le terminal Qt, faites :
qmake "INCLUDEPATH+=C:/Firebird_2_5/include" "LIBS+=-LC:/Firebird_2_5/lib" "LIBS+=-lfbclient_ms" ibase.pro
  • Puis compiler :
    • Dans le terminal Qt, faites :
mingw32-make
  • Puis installer :
    • Dans le terminal Qt, faites :
mingw32-make install
  • Cela à pour conséquence de faire apparaitre 2 nouvelle dll (qsqlibase.dll et qsqlibased.dll) dans le dossier plugin de Qt. (C:\Qt\5.5\mingw492_32\plugins\sqldrivers dans mon cas)
  • Exécuter à nouveau le programme de test. QIBASE est maintenant dans la liste.

Donc pour Résumer :

cd C:\Qt\5.5\Src\qtbase\src\plugins\sqldrivers\ibase
qmake "INCLUDEPATH+=C:/Firebird_2_5/include" "LIBS+=-LC:/Firebird_2_5/lib" "LIBS+=-lfbclient_ms" ibase.pro
mingw32-make
mingw32-make install

Remarque : Pour que votre programme fonctionne, il semblerai qu'il faille aussi fbclient.dll qui se trouve dans C:\Firebird_2_5\bin. Vous pouvez donc l'ajouter au dossier plugins (C:\Qt\5.5\mingw492_32\plugins\sqldrivers dans mon cas).

compilation_du_driver_sql_pour_firebird_sous_windows_et_qt5.5.txt · Dernière modification: 2016/02/11 20:37 par loupium