Название: SQL-плагин + подключение iBase
Отправлено: demaker от Август 17, 2016, 15:13
Пытаюсь собрать В pro-файле делаю так TARGET = qsqlibase
HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h SOURCES = main.cpp \ ../../../sql/drivers/ibase/qsql_ibase.cpp
INCLUDEPATH += C:/Program Files/Firebird/Firebird_3_0/include
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
LIBS += -lfbclient_ms LIBS += -L C:/Program Files/Firebird/Firebird_3_0/lib
}
include(../qsqldriverbase.pri)
fbclient_ms скопил и кинул в папку к ibase.pro При сборке выдается ошибка ibase.h: No such file or directory
Путь к хедеру прописывал в path, но не помогло. :( Скажите, что делаю не так ???
Название: Re: SQL-плагин + подключение iBase
Отправлено: Bepec от Август 17, 2016, 15:36
Хедер то он в креаторе видит, или нет?
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 17, 2016, 15:43
Хедер то он в креаторе видит, или нет?
нет прописал в pro и в path ???
Название: Re: SQL-плагин + подключение iBase
Отправлено: Old от Август 17, 2016, 15:46
Попробуйте пути брать в кавычки, они у вас с пробелами.
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 17, 2016, 16:05
Попробуйте пути брать в кавычки, они у вас с пробелами.
Помогло, только теперь выводит ошибки c:/qtsdk/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: C:/Program Files/Firebird/Firebird_3_0/lib/fbclient_ms.lib(fbclient.dll): Recognised but unhandled machine type (0x8664) in Import Library Format archive
c:/qtsdk/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: C:/Program Files/Firebird/Firebird_3_0/lib/fbclient_ms.lib(fbclient.dll): Recognised but unhandled machine type (0x8664) in Import Library Format archive
tmp/obj/debug_shared/qsql_ibase.o: In function `getIBaseError':
C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:80: undefined reference to `isc_sqlcode@4'
C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:83: undefined reference to `fb_interpret@12'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:406: undefined reference to `isc_dsql_free_statement@12'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:421: undefined reference to `isc_create_blob2@28'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:427: undefined reference to `isc_put_segment@16'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:433: undefined reference to `isc_close_blob@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:441: undefined reference to `isc_open_blob2@28'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:451: undefined reference to `isc_get_segment@20'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:462: undefined reference to `isc_close_blob@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:582: undefined reference to `isc_array_lookup_bounds@24'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:614: undefined reference to `isc_array_get_slice@28'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:769: undefined reference to `isc_array_lookup_bounds@24'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:815: undefined reference to `isc_array_put_slice@28'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:824: undefined reference to `isc_dsql_sql_info@24'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:828: undefined reference to `isc_vax_integer@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:829: undefined reference to `isc_vax_integer@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:844: undefined reference to `isc_start_transaction'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:862: undefined reference to `isc_commit_transaction@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:905: undefined reference to `isc_dsql_allocate_statement@12'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:910: undefined reference to `isc_dsql_prepare@28'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:915: undefined reference to `isc_dsql_describe_bind@16'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:926: undefined reference to `isc_dsql_describe_bind@16'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:940: undefined reference to `isc_dsql_describe@16'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1055: undefined reference to `isc_dsql_free_statement@12'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1061: undefined reference to `isc_dsql_execute2@24'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1063: undefined reference to `isc_dsql_execute@20'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1102: undefined reference to `isc_dsql_fetch@16'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1306: undefined reference to `isc_dsql_sql_info@24'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1312: undefined reference to `isc_vax_integer@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1314: undefined reference to `isc_vax_integer@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1490: undefined reference to `isc_attach_database@24'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1511: undefined reference to `isc_cancel_events@12'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1525: undefined reference to `isc_detach_database@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1544: undefined reference to `isc_start_transaction'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1556: undefined reference to `isc_commit_transaction@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1569: undefined reference to `isc_rollback_transaction@8'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1770: undefined reference to `isc_event_block'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1789: undefined reference to `isc_que_events@28'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1817: undefined reference to `isc_cancel_events@12'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1845: undefined reference to `isc_event_counts@16'
tmp/obj/debug_shared/qsql_ibase.o:C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:1864: undefined reference to `isc_que_events@28'
collect2: ld returned 1 exit status
Я так понимаю ему либа fbclient_ms.lib не нравиться ???
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 17, 2016, 16:25
Заменил LIBS += -L"C:/Program Files/Firebird/Firebird_3_0/fbclient.dll " вместо #LIBS += -lfbclient_ms на либы вроде не жалуется TARGET = qsqlibase
HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h SOURCES = main.cpp \ ../../../sql/drivers/ibase/qsql_ibase.cpp
INCLUDEPATH += "C:/Program Files/Firebird/Firebird_3_0/include"
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
LIBS += -L"C:/Program Files/Firebird/Firebird_3_0/fbclient.dll " #LIBS += -lfbclient_ms LIBS += -L"C:/Program Files/Firebird/Firebird_3_0/lib" } include(../qsqldriverbase.pri)
НО при компиляции Пишет ошибку C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:80: undefined reference to `isc_sqlcode@4'
C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:83: undefined reference to `fb_interpret@12''
эти функции есть в ibase.h isc_sqlcode(...) fb_interpret(...) Не могу понять, что делать???
Название: Re: SQL-плагин + подключение iBase
Отправлено: Bepec от Август 17, 2016, 17:26
попробуйте вместо ../../../sql/drivers/ibase/qsql_ibase.cpp поставить просто qsql_ibase.cpp, а каталог добавить в include path.
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 17, 2016, 17:47
попробуйте вместо ../../../sql/drivers/ibase/qsql_ibase.cpp поставить просто qsql_ibase.cpp, а каталог добавить в include path.
TARGET = qsqlibase
HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h SOURCES = main.cpp \ qsql_ibase.cpp # ../../../sql/drivers/ibase/qsql_ibase.cpp
INCLUDEPATH += "C:/Program Files/Firebird/Firebird_3_0/include" INCLUDEPATH += "C:/QtSDK/2010.05/qt/src/drivers/ibase/"
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
LIBS += -L"C:/Program Files/Firebird/Firebird_3_0/fbclient.dll " #LIBS += -lfbclient_ms } include(../qsqldriverbase.pri)
Если правильно Вас понял??? Не помогло :(
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 17, 2016, 18:58
LIBS += -L"C:/Program Files/Firebird/Firebird_3_0/fbclient.dll
путь к ПАПКЕ с либой точно так зовется? и где LIBS += -l... ?
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 17, 2016, 20:29
Установил FireBird соответственно оттуда и подключаются fbclient.dll Пробовал копировать в папку с pro файлом, но не помогает :(
А что значит: " где LIBS += -l...?" ???
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 17, 2016, 22:53
-L указывает на путь, где лежат .lib файлы, указанные через -l
в вашем файле я только -L увидел, а это только путь. вот и спросил, почему сами либы не указаны?
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 07:39
Указывал -lfbclient в конце пути не помогает
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 18, 2016, 10:16
а файл с либой где лежить и как называется?
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 10:36
а файл с либой где лежить и как называется?
Извините не понял вопроса. Какой файл? Pro?
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 18, 2016, 11:15
fbclient.lib
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 13:53
Пробовал класть в папку с проектом ...qt/src/plugins/sqldrivers/ibase Из pro-файла пытался прописать путь LIBS += -L"C:/Program Files/Firebird/Firebird_3_0/lib"
Но увы
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 18, 2016, 14:07
а каким компилятором собрана либа и каким ваше приложение?
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 14:26
а каким компилятором собрана либа и каким ваше приложение?
Либу взял из FireBird(64-бита) когда установил, а приложение собрано 32-битным компилятором
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 18, 2016, 15:48
Ну вот и ответ, собственно :)
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 16:23
Ну вот и ответ, собственно :)
Т.е надо ставить 32-битный Firebird
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 18, 2016, 16:26
да, или приложение под 64 бит собирать.
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 18:20
Не получилось :( Поставил 32-битный Firebird TARGET = qsqlibase
HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h SOURCES = main.cpp \ ../../../sql/drivers/ibase/qsql_ibase.cpp
INCLUDEPATH += "C:/Program Files (x86)/Firebird/Firebird_2_5/include"
unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS *= -lgds
win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) { LIBS += -L"C:/Program Files (x86)/Firebird/Firebird_2_5/lib/fbclient_ms.lib" }
include(../qsqldriverbase.pri)
Ошибка C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:80: undefined reference to `isc_sqlcode@4'
C:\QtSDK\2010.05\qt\src\plugins\sqldrivers\ibase-build-desktop/../../../sql/drivers/ibase/qsql_ibase.cpp:83: undefined reference to `fb_interpret@12'
РУКИ КРИВЫЕ :-[
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 18:29
Спасибо собрал :)
Кинул либу в папку с про файлом
Название: Re: SQL-плагин + подключение iBase
Отправлено: Racheengel от Август 18, 2016, 19:00
LIBS += -L"C:/....lib"
а должно быть
LIBS += -l"C:/....lib"
l маленькая.
Название: Re: SQL-плагин + подключение iBase
Отправлено: demaker от Август 18, 2016, 21:44
Спасибо :)
|