Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/43: Рейтинг темы: голосов - 43, средняя оценка - 5.00
4 / 4 / 1
Регистрация: 03.12.2012
Сообщений: 55

Qt5 + firebird

22.10.2013, 22:22. Показов 9153. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Почитал в инете как использовать firebird в Qt и попробовав собрать, у меня не получилось. Прошу помощи. Вот мои действия.

1. Правим файл C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugi ns\sqldrivers\ibase\ibase.pro
как в статье http://lifrost.livejournal.com/11985.html

2. Компилируем проект.
запускаю файл ibase.pro через Qtcreator и нажимаю собрать проект

И тут появляются ошибки:
C++ (Qt)
1
2
3
:-1: ошибка: cannot find -lgds32_ms
:-1: ошибка: cannot find -llibcmt
collect2.exe:-1: ошибка: error: ld returned 1 exit status
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2013, 22:22
Ответы с готовыми решениями:

Timestamp->QdateTime (Qt5+Firebird+Linux)
Направьте на путь истинный. В исходниках Qt5 есть небольшой пример, sqlbrowser. И есть база FB. Всё коннектится и показывается. Но есть...

QFtp и Qt5
Как всем известно, Qt5 отказалось от QFtp. Вместо нее предлагается QNetworkAccessManager и иже с ним. однако, чем же заменить методы...

Qt5 копирование
Добрый вечер, При копировании проекта Qt в другую папку, в целях его изменения и т.д., Qt Creator использует старые исходники, не смотря...

7
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,770
24.10.2013, 10:42
Я делал так. Сначала пару симлинков:

/usr/lib/i386-linux-gnu/libfbclient.so.2.5.1 -> /usr/lib/libfbclient.so
/usr/lib/i386-linux-gnu/libfbclient.so.2.5.1 -> /usr/lib/libgds.so

Затем конигуряем:

./configure -debug -nomake tests -nomake examples -qt-sql-ibase -v

Затем сборка:

make -j4 module-qtbase

Затем берём полученную библу:

[где там у вас исходники]....qt5/qtbase/lib/libQt5Sql.so.5.1.1 и кладём её, вместо старой:
[где там установленный Qt5]..../gcc/lib/libQt5Sql.so.5.1.1

К сожалению, сам не так давно начал своё знакомство с Qt, поэтому сборка такая затейливая. Но откомпилить и собрать только драйвер у меня не получилось, какая-то ошибка, причём связанная с системной кутей, которая 4.8.
0
4 / 4 / 1
Регистрация: 03.12.2012
Сообщений: 55
24.10.2013, 19:58  [ТС]
Я примерно понимаю концепцию, нужно пересобрать драйвер с библиотекой и подсунуть её Qt. А вот как подробнее?
0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,770
24.10.2013, 20:15
Да вроде подробно выше расписал. Только не сказал об одном, это всё делалось в консоли.

Вбейте в консоли:
locate libfbclient

Вот мой выхлоп:

Кликните здесь для просмотра всего текста
$ locate libfbclient
/usr/lib/libfbclient.so
/usr/lib/libfbclient.so.2
/usr/lib/i386-linux-gnu/libfbclient.so
/usr/lib/i386-linux-gnu/libfbclient.so.2
/usr/lib/i386-linux-gnu/libfbclient.so.2.5.2
/usr/share/doc/libfbclient2
/var/lib/dpkg/info/libfbclient2:i386.list
/var/lib/dpkg/info/libfbclient2:i386.md5sums
/var/lib/dpkg/info/libfbclient2:i386.postinst
/var/lib/dpkg/info/libfbclient2:i386.postrm
/var/lib/dpkg/info/libfbclient2:i386.shlibs
/var/lib/dpkg/info/libfbclient2:i386.symbols


Линки тоже делаются не сложно:

ln -s /usr/lib/i386-linux-gnu/libfbclient.so.2.5.2 /usr/lib/libfbclient.so
ln -s /usr/lib/i386-linux-gnu/libfbclient.so.2.5.2 /usr/lib/libgds.so

Затем идём в каталог с исходниками Qt, конфигуряем, собираем, заменяем
0
4 / 4 / 1
Регистрация: 03.12.2012
Сообщений: 55
24.10.2013, 21:56  [ТС]
1. qmake "INCLUDEPATH+=C:/Firebird_2_5/include" "LIBS+=-LC:/Firebird_2_5/lib/fbclient_ms.lib" ibase.pro
Команда выполняется нормально.
2. mingw32-make.exe all
Вываливается на этом:
C++
1
2
3
4
5
6
7
8
9
10
11
c:/qt/qt5.1.1/tools/mingw48_32/bin/../lib/gcc/i686-w64-mingw32/4.8.0/../../../../
i686-w64-mingw32/bin/ld.exe: .obj/release_shared/qsql_ibase.o: 
bad reloc address 0x1 in section '.text$_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIPvLb1EE6
DeleteES1_[__ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIPvLb1EE6DeleteES1_]'
 
collect2.exe: error: ld returned 1 exit status
Makefile.Release:80: recipe for target '..\..\..\..\plugins\sqldrivers\qsqlibase.dll' failed
mingw32-make.exe[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlibase.dll] Error 1
mingw32-make.exe[1]: Leaving directory 'C:/Qt/Qt5.1.1/5.1.1/Src/qtbase/src/plugins/sqldrivers/ibase'
makefile:38: recipe for target 'release-all' failed
mingw32-make.exe: *** [release-all] Error 2
Windows 7 x64
Qt 5.1.1 с mingw x32
Firebird 2.5 x32

Может быть проблема в в битности?
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
24.10.2013, 22:17
Цитата Сообщение от doncelab Посмотреть сообщение
fbclient_ms.lib
не очень понял из темы - откуда это?
если откуда-то снаружи, то легко может быть, что собрано с другой версией Qt, и не дай боже с другим компилятором (MSVC например, вместо mingws)
0
Эксперт NIX
3305 / 933 / 201
Регистрация: 14.01.2013
Сообщений: 4,770
24.10.2013, 22:28
Упс! До меня только сейчас дошло, что это винда. Сорри.
0
4 / 4 / 1
Регистрация: 03.12.2012
Сообщений: 55
24.10.2013, 22:31  [ТС]
Извините поторопился. Все получилось. Вот мои действия вдруг кому пригодятся:

1. Ставим firebird
2. Добавляем путь C:\Firebird_2_5\lib в переменную PATH
3. Добавляем в C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugi ns\sqldrivers\ibase\ibase.pro перед include(../qsqldriverbase.pri) следующие
* INCLUDEPATH += C:\Firebird\Firebird_2_1\include
* LIBS += C:\Firebird\Firebird_2_1\lib\fbclient_ms .lib
* unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS *= -lgds
* win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
* !win32-borland:LIBS *= fbclient_ms.lib
* win32-borland:LIBS += gds32.lib
* }

4. Собираем проект qmake -o Makefile ibase.pro
5. Компилируем mingw32-make.exe all
6. Забираем библиотеки по C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\s qldrivers
7. Копируем библиотеки в C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\s qldrivers
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2013, 22:31
Помогаю со студенческими работами здесь

Учебник по qt5
Я знаю, что этот вопрос много раз задавался, но везде под 4 версию, а там, где просят учебники под 5, нет ответа пожалуйста, посоветуйте...

Qt5 + Raspberry Pi
Кто-нибудь может подсказать и описать, каким образом я могу собрать сам Qt5 под Raspberry Pi (кросс-компиляцией какой-нибудь, чтобы этот...

Qt5 и QFtp
Здравствуйте Пишу программу, которая будет скачивать файлы с FTP. Использую Qt5. В более ранних версия был удобный модуль QFtp. ...

Qt5.12 Sslv2
Хотел ради интереса попробовать написать xmpp клиент, для сервера на работе. Но вот получается так, что на сервере ssl2. Пытаюсь...

Qt5 Vk API
Всем привет. Решил поиграться с vk api. Возник не большой трабл. Имеем три файла #include <QObject> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru