Russian Qt Forum
Ноябрь 24, 2024, 01:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Сборка QIBASE  (Прочитано 18923 раз)
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #15 : Июнь 27, 2011, 09:20 »

Требуетl QtSqld4, а есть только libQtSql4. То есть сборка Qt у тебя релизная, а драйвер пытаешься дебажный собрать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
vaychick
Гость
« Ответ #16 : Июнь 27, 2011, 09:36 »

Цитировать
Требуетl QtSqld4, а есть только libQtSql4.
Может я ошибся, когда набирал текст, но в C:\QtSDK\Desktop\Qt\4.7.3\mingw\lib есть и libQtSqld4.a 320 КБ весит.

Цитировать
То есть сборка Qt у тебя релизная, а драйвер пытаешься дебажный собрать.

Код:
C:\QtSDK\src\src\plugins\sqldrivers\ibase>qmake

C:\QtSDK\src\src\plugins\sqldrivers\ibase>make release

сначало писал, что не может найти в C:\QtSDK\src\bin moc.exe я не знал как ему показать, что moc лежит сдесь C:\QtSDK\Desktop\Qt\4.7.3\mingw\bin и скопировал его в C:\QtSDK\src\bin.

Код:
C:\QtSDK\src\src\plugins\sqldrivers\ibase>qmake

C:\QtSDK\src\src\plugins\sqldrivers\ibase>make release
make -f Makefile.Release
make[1]: Entering directory `C:/QtSDK/src/src/plugins/sqldrivers/ibase'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,c:/QtSDK/src/plugins/sqldrivers
/libqsqlibase4.a -o ../../../../plugins/sqldrivers/qsqlibase4.dll tmp/obj/releas
e_shared/main.o tmp/obj/release_shared/qsql_ibase.o tmp/obj/release_shared/moc_q
sql_ibase.o  -L'c:/QtSDK/src/lib' -L'c:/QtSDK/src/lib' tmp/obj/release_shared/qs
qlibase_resource_res.o "-LC:/Program Files/Firebird/Firebird_2_0/lib/fbclient_ms
.lib" -lQtSql4 -lQtCore4
c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cann
ot find -lQtSql4
collect2: ld returned 1 exit status
make[1]: *** [../../../../plugins/sqldrivers/qsqlibase4.dll] Error 1
make[1]: Leaving directory `C:/QtSDK/src/src/plugins/sqldrivers/ibase'
make: *** [release] Error 2

Цитировать
ld.exe: cannot find -lQtSql4
может из-за того, что я moc скопировал в другую дирректорию?

Windows path: C:\Program Files\Firebird\Firebird_2_0\bin;C:\QtSDK\mingw\bin;C:\QtSDK\Desktop\Qt\4.7.3\mingw\bin
« Последнее редактирование: Июнь 27, 2011, 09:40 от vaychick » Записан
vaychick
Гость
« Ответ #17 : Июль 29, 2011, 11:42 »

С подсказки коллеги по работе решение нашлось, правда я собирал на виртуальной машине, чтобы отбросить все сторонние факторы.

Вот ibase.pro

Код:
TARGET = qsqlibase

SOURCES = main.cpp
INCLUDEPATH += "C:/Program Files/Firebird/Firebird_2_0/include" C:/tmp/src/include
LIBS += "C:/Program Files/Firebird/Firebird_2_0/lib/fbclient_ms.lib"

include(../../../sql/drivers/ibase/qsql_ibase.pri)

include(../qsqldriverbase.pri)

Неочевидное (для меня по крайней мере) решение проблемы оказалось вот в чем:
1. не нужно копировать файлы с исходниками в папку SDK в директорию src (где они лежади в предыдущих версиях)
2. В .pro файле нужно указать путь к заголовочным файлам внутри самих исходников, хотя .pro файл ibase находится в этой-же директории, просто на несколько уровней ниже и я логично предполагал, что внутри прописаны относительные пути вверх по иерархии до include файлов.
3. На форуме подсказали собирать через Creator

P.S. кроме ibase.pro ничего не менял и не трогал.
Записан
optimistex
Гость
« Ответ #18 : Декабрь 21, 2011, 08:53 »

Тоже много времени потратил на сборку драйвера.
Удалось собрать и заставить работать на Qt SDK 4.8.0.
Так же сделал *.BAT-ник автоматизирующий сборку плагина QIBASE и его установку.
Подробности тут: http://optitrex.ru/pages/615_qt_-_sborka_drayvera_qibase
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.