Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как поставить в Qt 4.3 драйвер для IBASE? / 23 сообщений из 23, страница 1 из 1
12.10.2007, 14:26
    #34865184
ens
ens
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Поставил себе Qt. Хочу что б он работал с FireBird... Сказано что надо поставить дарйвер ibase...
Как мне это сделать у меня ничего не получается... Если можно то по подробнее:)
СПС!!!
...
Рейтинг: 0 / 0
12.10.2007, 15:53
    #34865605
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Qt перед установкой надо сконфигурять, чтобы объяснить, что ты хочешь из того, что он может.
...
Рейтинг: 0 / 0
12.10.2007, 16:00
    #34865637
ens
ens
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Я себе по Linux поставил Qt4 и FireBird ... Для того что бы заработало приложение написанное на Qt4 надо установить откомпилирвать драйвер IBASE... В Linux`е у меня все прошло нормально, все работает... Тут я решил испытать плотформонезависимость приложения... Поставил Qt4, FireBird на Windows... Но с драйвером IBASE у меня здесь проблемы... Там обынче исходнии... Я начина компилировать все хорошо, но потом ошибка:

\mingw\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lgds32_ms
collect2: ld returned 1 exit status
...
Я так понял что он не может найти "-lgds32_ms" Это вроед не файл... Что это такое и почему никак не пойму...
Не знакома ли вам такая ситуация?

Вот файл проекта ibase.pro:

TARGET = qsqlibase

HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES = main.cpp \
../../../sql/drivers/ibase/qsql_ibase.cpp

uni!contains( LIBS, .*gds.* )contains( LIBS, .*libfb.* ):LIBS *= -lgds

win32contains( LIBS, .*gds.* )contains( LIBS, .*fbclient.* ) {
!win32-borland:LIBS *= -lgds32_ms
win32-borland:LIBS += gds32.lib
}

include(../qsqldriverbase.pri)

В нем как раз и указано -lgds32_ms но его нигде нету
...
Рейтинг: 0 / 0
12.10.2007, 16:07
    #34865670
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
!win32-borland:LIBS *= -lgds32_ms

Попробуй выкинуть эту строчку из проекта.
Посмотри, что скажет линкер.
...
Рейтинг: 0 / 0
12.10.2007, 16:22
    #34865729
ens
ens
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Дальше вот что он выдает
...
Рейтинг: 0 / 0
12.10.2007, 16:35
    #34865776
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
...
Рейтинг: 0 / 0
12.10.2007, 16:43
    #34865802
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
...
Рейтинг: 0 / 0
12.10.2007, 17:57
    #34866061
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
ensЯ так понял что он не может найти "-lgds32_ms" Это вроед не файл... Что это такое и почему никак не пойму...Вообще-то, -l это команда подключения библиотеки gds32_ms.lib
ensНе знакома ли вам такая ситуация?Знакома, знакома. Драйвер QIBASE расчитан на FireBird 1.5 и ранее. А в FireBird 2.0 клиентские библиотеки называются теперь по другому.
Если у тебя gds32_ms.lib нигде нету, то значит ты себе поставил FireBird 2. gds32_ms и gds32_bc это были клиентские библиотеки для VC и BC соотвественно в FireBird 1.5 и ранее.
Иди в каталог с %firbird_root%\lib и смотри какие там есть *.lib кажется там тоже есть разделение на VC/BC типы библиотек (давно было, не помню уже) и подменяй в своем qsqldriverbase.pri имя библиотеки.
Как вариант - откатись назад на FB1 или жди пока Тролтеки раскачаются и обновят свой QIBASE драйвер для FB2.0
...
Рейтинг: 0 / 0
12.10.2007, 20:21
    #34866260
Zmeishe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
White Owl Как вариант - откатись назад на FB1 или жди пока Тролтеки раскачаются и обновят свой QIBASE драйвер для FB2.0
Если есть терпенье, упёртость и упрямство, то можно и не ждать.
Я, например, не дождался и заюзал API-InterBase 7.5.1 напрямую. Сваял собственные Qt классы и сделал этим API вменяемую ООП обёртку. Правда угробил сначала 2 недели, а потом вошёл во вкус и оттянулся аж на 2 месяца.
Зато получил 3-х звенку на Линуксе вместо DCOM на Win и нормальный доступ к любым транзакциям.
У Троллтехов транзакция одна единственная на все случаи жизни. А все остальные типы транзакций для IB/FB в коммерческом Qt.
...
Рейтинг: 0 / 0
12.10.2007, 21:51
    #34866328
ens
ens
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Ладно что нить придумаю. А еще не знаете у меня Vista вот пробую запустить команду configure для Qt а он ругается на ОС, какой параметр ей нужен, а?
...
Рейтинг: 0 / 0
14.10.2007, 19:06
    #34867456
ens
ens
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Вобщем друзья все получилось, все что выше было сказано ничего не надо делать... Просто надо добавить в файл: [дирректория Qt]\src\plugins\sqldrivers\ibase\ibase.rpo] следующее (выделенно жирным шрифтом)

------------------------------------------------------------------------------------------------
TARGET = qsqlibase

HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h \
C:\firebird\include\
SOURCES = main.cpp \
../../../sql/drivers/ibase/qsql_ibase.cpp

LIBS+= C:\firebird\lib\gds32_ms.lib

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS *= -lgds

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
!win32-borland:LIBS *= -lgds32_ms
win32-borland:LIBS += gds32.lib
}

include(../qsqldriverbase.pri)
------------------------------------------------------------------------------------------------
ну и конечно снес я FB 2 и поставил 1.0 где есть файл gds32_ms
Вот и все Работет, УРА!!!
Всем спасибо за помощь!!!
...
Рейтинг: 0 / 0
20.10.2007, 14:51
    #34882509
disaper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Спокойно работаю с Qt4.3.2/Firebird2

скомпилил драйвер QIBASE, использовал такой ibase.pro:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
TARGET	 = qsqlibase

HEADERS		= ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES		= main.cpp \
		  ../../../sql/drivers/ibase/qsql_ibase.cpp
INCLUDEPATH += c:/firebird/lib

win32:INCLUDEPATH += C:\Firebird\include
win32:LIBS += -lfbclient_ms
win32:LIBS += -LC:\Firebird\lib

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
	!win32-borland:LIBS *= -lgds32_ms
	win32-borland:LIBS  += gds32.lib
}

include(../qsqldriverbase.pri)
далее qmake ibase.pro и make release

тестовое приложение такое

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#include <QApplication>
#include <QtGui>
#include <QtSql>

int main(int argc, char** argv)
{
	QApplication app(argc, argv);
	QComboBox myCombo;
	
	QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
	myCombo.addItems(db.drivers());
	db.setDatabaseName("c:/firebird/examples/empbuild/employee.fdb");
	db.setUserName("SYSDBA");
	db.setPassword("masterkey");

	if(!db.open())
	{
		QSqlError er = db.lastError();
		QMessageBox::information( 0 , "Error", er.text());
	}

	myCombo.show();
	return app.exec();
}
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
24.04.2013, 13:19
    #38238092
eJinn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
ens,
Firebird 2.5.2 + Qt 5.0.2
ibase.pro такой:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
TARGET = qsqlibase

SOURCES = main.cpp
OTHER_FILES += ibase.json
include(../../../sql/drivers/ibase/qsql_ibase.pri)

INCLUDEPATH += D:\Programs\Firebird_2_5\include
LIBS += -LD:\Programs\Firebird_2_5\lib
LIBS += -lfbclient_ms
LIBS += -llibcmt

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
        !win32-borland:LIBS *= -lfbclient_ms
        win32-borland:LIBS  += fbclient_ms.lib
}

PLUGIN_CLASS_NAME = QIBaseDriverPlugin
include(../qsqldriverbase.pri)



Основная проблемы была догадаться, что для сборки 32-битного драйвера под 32-битный Firebird нужно использовать 32-битный Qt (об этом ничто не предупреждает. Просто на 64-битном Qt проект собирался с ошибками).
...
Рейтинг: 0 / 0
24.04.2013, 13:25
    #38238105
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
eJinn...
Основная проблемы была догадаться, что для сборки 32-битного драйвера под 32-битный Firebird нужно использовать 32-битный Qt (об этом ничто не предупреждает. Просто на 64-битном Qt проект собирался с ошибками).
А зачем, используя 64-битный Qt, делать 32-битный драйвер?
...
Рейтинг: 0 / 0
24.04.2013, 16:18
    #38238518
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
ens,
Там в любом раскладе будет возможно два варианта.
ставить для QT "драйвер" для ODBC и использовать ODBC-драйвер для IBASE

ставить для QT "драйвер" для IBASE и использовать "родные" API (я кстати не знаю, существует ли он вообще в природе).


QT "драйвер" -- это на самом деле не драйвер, а библиотека-плагин с классами, коротые адаптируют QTSQL к конкретному способу доступа к данной БД.
...
Рейтинг: 0 / 0
24.04.2013, 17:05
    #38238639
eJinn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
MasterZiv,
с ODBC драйвером, кстати, проблема.
У меня стоит Win 7 x64.
Если установить Firebird 2.5.2 x64 + ODBC драйвер х64, то все работает.
Если установить Firebird x32 + ODBC драйвер x32, то в источниках данных ODBC драйвер Firebird отсутствует, ничего не работает.
Если установить Firebird x32 + ODBC драйвер x64, то в источниках данных ODBC драйвер присутствует, но соединение с базой данных не устанавливается.
Что из Windows будет стоять на клиентских машинах - не знаю, но предполагаю, что Win32.
Получается, что для разработки мне придется или пользоваться Qt "драйвером" для Firebird или устанавливать на виртуалку Win 7 x32, чтобы использовать ODBC. Попробую пока обойтись первым.
...
Рейтинг: 0 / 0
24.04.2013, 17:25
    #38238711
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
1. Нафиг тебе ODBC драйвер с Firebird?

2. FireBird ставь любой разрядности, лишь бы запустился (FireBird x32 на Win x64&x32, но FireBird x64 только на Win x64).
А клиента FireBird ставь той версии разрядности, которой будет у тебя приложение. И "драйвер" строй соответствующий.
То же самое по поводу драйвера ODBC: он должен быть той же разрядности, как и клиент FireBird.
...
Рейтинг: 0 / 0
24.04.2013, 18:35
    #38238884
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
eJinnЕсли установить Firebird x32 + ODBC драйвер x32, то в источниках данных ODBC
драйвер Firebird отсутствует
Потому что ты смотришь список 64-х разрядных источников. Для 32-х разрядов ODBC менеджер
отдельный.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
24.04.2013, 19:02
    #38238934
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
eJinnMasterZiv,
с ODBC драйвером, кстати, проблема.
У меня стоит Win 7 x64.


Гы, эт не проблемы, знал бы ты, какие проблемы на линуксе...
...
Рейтинг: 0 / 0
24.04.2013, 19:18
    #38238961
vvm
vvm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
MasterZiveJinnMasterZiv,
с ODBC драйвером, кстати, проблема.
У меня стоит Win 7 x64.


Гы, эт не проблемы, знал бы ты, какие проблемы на линуксе...
Ты еще для линукса кодишь...
...
Рейтинг: 0 / 0
24.04.2013, 19:22
    #38238966
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
vvm,

Почему же ещё? УЖЕ!
...
Рейтинг: 0 / 0
26.04.2013, 01:08
    #38240841
e-Jinn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
vvmMasterZivпропущено...
Гы, эт не проблемы, знал бы ты, какие проблемы на линуксе...
Ты еще для линукса кодишь...
А чё, под Винду легче?
...
Рейтинг: 0 / 0
29.04.2013, 13:10
    #38243871
trdm_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поставить в Qt 4.3 драйвер для IBASE?
Qt SQL driver for Firebird with IBPP library
Есть еще http://code.google.com/p/qtfirebirdibppsqldriver/
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как поставить в Qt 4.3 драйвер для IBASE? / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]