Como compilar el driver de firebird
-
Recientemente tuve que compilar el driver para el motor de bases de datos firebird, tuve que hacer unos pasos extra a lo que viene en la documentación, así que explico aquí como lo hice.
Yo quería compilar para windows 64 bits, así que me instalé el paquete “MSVC 2017 64-bits” y el paquete “Sources” de Qt.
Lo siguiente es instalar el compilador MSVC 2017, lo he descargado del siguiente enlace:
Si bajáis hacia abajo, hay un apartado que dice “Build Tools para Visual Studio 2017 ” ahí te descargas un instalador que te permite instalar solo el compilador, sin el VisualStudio. Una vez ejecutado el instalador te pregunta qué paquetes quieres instalar, en mi caso, los mínimos que necesité para compilar fueron “Visual C++ build tools” que incluye “Herramientas de MSBuild” y “Visual C++ build tools” y en opcionales “SDK de Windows 10”.
Firebird he instalado la nueva versión 3.0.3 de 64 bits, que una vez funcionando me he dado cuenta que Qt no me reconoce el nuevo tipo de dato “boolean” que incorpora esta versión de firebird. Lo he solucionado creando un procedimiento almacenado cuando necesito acceder a tablas que tienen un dato de ese tipo que me convierta “TRUE” en ‘V’ y “FALSE” en ‘F’.
https://www.firebirdsql.org/en/firebird-3-0-3/
Firebird lo instalo en la ruta C:/Firebird y va a ser la que use de aquí en adelante, así que si lo instalas en otra diferente, acuérdate de cambiar las rutas de los comandos para compilar.
El primer paso para compilar es, como dice en la documentación:
http://doc.qt.io/qt-5/sql-driver.html#qibase
Situarse en la carpeta en la que están los drivers, así que abrimos una consola de MSVC 64-bits, hay que buscar la opción de 64 bits entre las que se instalan, por que aunque yo creía que instalaba para 64 bits, también me instaló las de 32 bits, y por defecto te abre éstas, y nos movemos hasta allí.
Ahora ejecutamos el comando que dice la documentación (acordaos de poner la ruta correcta de la instalación de firebird). Si la ruta en la que se instaló Qt no está en el PATH del sistema, hay que poner la ruta completa a qmake:
C:\Qt\5.11.1\msvc2017_64\bin\qmake -- IBASE_INCDIR=C:/Firebird/include IBASE_LIBS=-lfbclient
En mi caso no me reconoce la instalación de firebird, pero genera unos archivos que son necesarios para los siguientes pasos.
Ahora entramos en la carpeta “ibase” para compilar desde ahí.
Hay que editar primero el archivo “ibase.pro” con cualquier editor de texto y comentar la línea “QMAKE_USE += ibase”:
# QMAKE_USE += ibase
Ahora compilamos con:
C:\Qt\5.11.1\msvc2017_64\bin\qmake "INCLUDEPATH+=C:/Firebird/include" "LIBS+=-LC:/Firebird/lib" "LIBS+=-lfbclient_ms" ibase.pro
nmake
nmake install
En mi caso ya tengo el driver funcionando.
Un saludo