Russian Qt Forum

Qt => Базы данных => Тема начата: Acrobat от Декабрь 14, 2018, 17:27



Название: 64 битный драйвер для работы с Interbase
Отправлено: Acrobat от Декабрь 14, 2018, 17:27
Здравствуйте. Подскажите пожалуйста, как собрать 64 битный драйвер для работы с Interbase ??? Клиентские библиотеки для работы с interbase имеют разрядность 32 бита.
Пробую использовать 32 битный драйвер в 64 битном приложении, драйвер определяется, но не загружается.


Название: Re: 64 битный драйвер для работы с Interbase
Отправлено: dimich33 от Декабрь 25, 2018, 16:56
Пример для моего случая - использую Qt5.6.3 и Visual Studio Community 2013

Устанавливаем 64-битный firebird-клиент с инструментами разработки
Устанавливаем переменные среды компилятора для 64-биной сборки. Например, для Viasul Studio 2013 в командной строке следует запустить "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat amd64"
В папке, где расположен ibase.pro (в моем случае c:\Qt\Qt5.6.3_64\5.6.3\Src\qtbase\src\plugins\sqldrivers\ibase\ ), запускаем командный файл с содержимом (пути меняем на свои):

set FBDIR="C:\Program Files\Firebird\Firebird_3_0\"
set INCLUDE=%INCLUDE%;%FBDIR%include
set LIB=%LIB%;%FBDIR%lib
set LIBPATH=%LIBPATH%;%FBDIR%lib
c:\Qt\Qt5.6.3_64\5.6.3\msvc2013_64\bin\qmake.exe -o Makefile "LIBS+=-lfbclient_ms"
nmake clean
nmake -f Makefile.Debug install
nmake -f Makefile.Release install