Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Driver Firebird

Bonjour,

J'ai un peu testé Qt avec PGSQL sans trop de difficultés. En revanche avec Firebird c'est beaucoup plus délicat. Le driver doit être compilé manuellement . J'ai suivi ceci : http://doc.qt.io/qt-5/sql-driver.html#qibase.

Au moment de faire le make , j'ai beaucoup d'erreurs de compilation . Ca ressemble à un problème d'option C++ 11 et gnu++11 . voir http://stackoverflow.com/questions/38436542/mingw-cxxtest-bizarre-errors
A quel endroit dois je changer cette option ?

image

Merci d'avance
PNG
PNG
Screen Shot 11-17-16 at 10.55 PM.PNG
71K

Réponses

  • November 2016 modifié
    Salut,
    Je n'ai jamais utilisé firebird mais j'avais pourtant fait un petit tuto sur le wiki pour compiler le driver, suite à une demande similaire sur le forum : http://wiki.qtfr.org/compilation_du_driver_sql_pour_firebird_sous_windows_et_qt5.5
    Pour le c++11, ajoute dans ton .pro :
    CONFIG += c++11
  • November 2016 modifié
    Salut,
    J'ai essayé de compiler le plugin avec mingw49_32 et je me retrouve avec le même type d'erreur :
    g++: error: unrecognized command line option '-std=c++1z'
    mais le build est passé avec mingw53_32
    par contre pour le link, quand on télécharge le setup de firebird, les libs sont pour ms et borland.
    A la fin, le plugin Qt fait 3 ko, je n'ai pas encore testé une connexion.

    j'ai tenté de compiler firebird, mais sans succès avec mingw (prévu apparemment pour msvc)
    mes tentatives :
    1) installer sed (gnuwin32)
    2) ajouter set (CMAKE_CXX_STANDARD 11) au CMakeList
    3) utilisé mingw 5
    mais la compilation échoue sur :
    error: inlining failed in call to always_inline 'unsigned int _mm_crc32_u8(unsigned int, unsigned char)': target specific option mismatch
    _mm_crc32_u8 (unsigned int __C, unsigned char __V)
    faut que je fasse plus de recherche sur cette erreur
  • Bonjour ,

    Un grand merci à vous deux . En fait je faisais n'importe quoi..Le tuto de loupium m'a beaucoup servi , car ça fonctionne désormais ! .. Il faut respecter à la lettre ce qui est écrit. Et donc une nouvelle question s'impose:
    Pourquoi "_ms" en suffixe dans le nom de la dll ?
  • Re,
    ms veut dire microsoft.
    La lib firebird à été commpilée avec le compilateur de Microsoft.
    Mais mingw (du moins les versions assez récentes) sont capables de linker sur des librairies ms.

    J'ai tout de même persévéré dans la compilation de firebird avec mingw, mais cela n'a pas aboutit.
    Entre les modifications du fichier cmake, les modifs dans les sources je me retrouve encore avec des erreurs.
    Je vais laisser tomber pour le moment.
  • Ravi de t'avoir aidé surtout que je ne connais pas cette base.
Connectez-vous ou Inscrivez-vous pour répondre.