четверг, 14 ноября 2019 г.

00.01 Построение драйвера Qt SQL IBASE для Firebird

Построение драйвера Qt SQL IBASE для Firebird

Разбираемся, что нужно сделать. К сожалению, официальной информации недостаточно.


Напоминаю, что Qt у нас установлен в D:\Tools\Qt.
Нужны исходники. Если они не были установлены, следует запустить приложение MaintenanceTool.exe (размещено также в D:\Tools\Qt), выбрать режим "Добавление или удаление компонентов", ставим еще одну галку "Sources":

Все делаем почти точно так же, как при первоначальной инсталляции Qt. Заодно можно обновить версию Qt (не забываем сделать изменения в настройках Qt Tools  MS VS!)

В результате, в каталоге D:\Tools\Qt\5.13.2 появилась подпапка "Src", D:\Tools\Qt\5.13.2\Src.

Запустим "командную строку Qt":
Пуск -> Все программы -> Qt -> 5.13.2 -> MS VS 2017 (32-bit) -> Qt 5.13.2 (MS VS 2017 32-bit)

Наблюдаем "черное окно" с интересным сообщением:
Setting up environment for Qt usage...
Remember to call vcvarsall.bat to complete environment setup!


Что это за vcvarsall.bat и где его брать. Для MS VS 2017 он находится в директории

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\
- вот он:
Ничего не запускаем, перетаскиваем этот файл мышкой в ранее открытое командной строки!

Все еще ничего не запускаем! Командному  файлу нужен параметр. Конкретно для нашего случая - x86. Через пробел вводим его и жмем Enter:

Начинаем строить драйвер. Драйвер будем строить для 32-разрядного клиента Firebird 4.0.
Загружаем свежий снапшот отсюда, распаковываем его в подходящее место. Я распаковал его в директорию D:\Tools\FB\Servers\40.
...
Возвращаемся в окно командной строки. Вводим:
cd D:\Tools\Qt\5.13.2\Src\qtbase\src\plugins\sqldrivers\ibase

Затем открываем на редактирование файл ibase.pro, находи строку
QMAKE_USE += ibase
Поставим в начало строки символ комментирования #:
#QMAKE_USE += ibase
Сохраняем файл ibase.pro.

Вводим в командной строке последовательно три команды:
nmake clean
Затем:
qmake "INCLUDEPATH+=D:\Tools\FB\Servers\40\include" "LIBS+=D:\Tools\FB\Servers\40\lib\fbclient_ms.lib" ibase.pro
Затем:
nmake
Видим много сообщений, в самом конце - долгожданная строка:
   Создается библиотека ..\plugins\sqldrivers\qsqlibased.lib и объект ..\plugins\sqldrivers\qsqlibased.exp

Ура!

Открываем каталог D:\Tools\Qt\5.13.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers, любуемся:



Комментариев нет:

Отправить комментарий

QSettings: работа с ini файлом, русские символы.

  QSettings работает в т.ч. и с ini файлами. Локальные (русские, например) символы обрабатываются с помощью кодеков. Наверное, ini файл сле...