Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [QT4] как связать QT и fireBird 
:(
    Опции темы
Programister0
Дата 9.11.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



fireBird v1.5
Qt 4.3.1
компилятор MinGw разные версии но утилита reimp была только вместе с codeblocks(v1,0)

пока проблема только в создании *.a файлов из lib'в & dll'к  fireberd'a

я проделывал следующее:
1) попытался установить поддержку ibase:
Цитата

set Path=C:\qtprog\MinGW\MinGW\bin
configure.exe -qt-sql-ibase -plugin-sql-ibase -I C:\Firebird_1_5\include -L C:\Firebird_1_5\lib

вроде все прошло успешно но в папке %qtdir%\lib не появилось никаких *ibase* файлов

2) создал fbclient.def содержания:
Цитата

cd C:/Firebird_1_5/lib
C:/qtprog/CodeBlocks/bin/reimp.exe -d fbclient_ms.lib


3) батник
Цитата

C:\qtprog\CodeBlocks\mingw32\bin\dlltool.exe -d fbclient.def -l fbclient.a fbclient.dll -k
pause


после запуска получаю сообщение:
Цитата

C:\Firebird_1_5\lib>C:\qtprog\CodeBlocks\mingw32\bin\dlltool.exe -d fbclient.def -l fbclient.a fbclient.dll -k
C:\qtprog\CodeBlocks\mingw32\bin\dlltool.exe: Syntax error in def file fbclient.def:0

что за ошибка? ему сразу первый символ не нравится!

также побывал ставить mySql 5.0 результат пол-ся тотже!

ну вообще ничего не идет!
что делать? по плечо или по локоть руки резать?

Это сообщение отредактировал(а) Programister0 - 9.11.2007, 21:06
PM MAIL WWW ICQ Skype   Вверх
IPFreely
Дата 10.11.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 24.4.2006

Репутация: нет
Всего: нет



Цитата(Programister0 @ 9.11.2007,  21:01)
fireBird v1.5
Qt 4.3.1
компилятор MinGw разные версии но утилита reimp была только вместе с codeblocks(v1,0)

пока проблема только в создании *.a файлов из lib'в & dll'к  fireberd'a

я проделывал следующее:
1) попытался установить поддержку ibase:
Цитата

set Path=C:\qtprog\MinGW\MinGW\bin
configure.exe -qt-sql-ibase -plugin-sql-ibase -I C:\Firebird_1_5\include -L C:\Firebird_1_5\lib

вроде все прошло успешно но в папке %qtdir%\lib не появилось никаких *ibase* файлов

хм...
для подключения к БД в КуТи собираются плагины
думаю в мингв, так же как и в линуксе, плагины для БД будут лежать в
$QTDIR4/lib/plugins/sqldrivers

а пример можно посмотреть здесь
$QTDIR4/demos/sqlbrowser
PM MAIL   Вверх
Programister0
Дата 13.11.2007, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



Цитата

вроде все прошло успешно но в папке %qtdir%\lib не появилось никаких *ibase* файлов

- нет не прошло! точнее 
Цитата

configure.exe -plugin-sql-ibase  
- прошло
Цитата

mingw32-make.exe
 - не прокатывает 
выдаёт:
Цитата

mingw32-make.exe: *** [makefile] Error -1073741502

PM MAIL WWW ICQ Skype   Вверх
Programister0
Дата 13.11.2007, 05:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



помогите! 
я немного разобрался, проблема в компиляторе а точнее в mingw32-make.exe,
он неможет корректно завершить работу,
всегда после ~0,5-1,5 часов работы выдает сообщение:
Цитата

Ошибка при инициализации приложения (0хс0000142). Для выхода из приложения нажмите "Ок".

после нажатия(в консоли выводит):
Цитата

mingw32-make.exe: *** [makefile] Error -1073741502

пробовал компилить несколько раз с помощью разных версий MinGw 
сначала MinGw 3,4,4 два раза но с разными опциями к  configure.exe 
1) разархивировал архив с qt 4.3.2 и от туда запустил батник:
set Path=C:\qtprog\MinGW\bin
configure.exe -platform win32-g++ 
C:\qtprog\MinGW\bin\mingw32-make.exe 
mingw32-make.exe - НЕПРОШЕЛ! ОШИБКА!

2) установил версию qt-win-opensource-4.3.2-mingw указал путь к томуже компилятору (MinGw 3,4,4)
set Path=C:\qtprog\MinGW\MinGW\bin 
configure.exe -platform -qt-sql-ibase -plugin-sql-ibase -I "C:\Firebird_2_0\include" -L "C:\Firebird_2_0\lib"
c:\qtprog\MinGw\bin\mingw32-make.exe
configure.exe - ПРОШЕЛ НОРМАЛЬНО!(Firebird 2.0 был установлен!)
mingw32-make.exe - ОПЯТЬ НЕПРОШЕЛ! ОШИБКА!

3) удалил старый компилятор(MinGw 3,4,4) и QT тоже (на всякий пожарный), установил новый компилятор MinGw 5,1, установил qt-win-opensource-4.3.2-mingw указал путь к новому компилятору и:
set Path=C:\qtprog\MinGW\MinGW\bin 
configure.exe -platform -qt-sql-ibase -plugin-sql-ibase -I "C:\Firebird_2_0\include" -L "C:\Firebird_2_0\lib"
c:\qtprog\MinGw\bin\mingw32-make.exe
mingw32-make.exe - ОШИБКА!


Как настроить, установить sql плагины-драйвера? что делать?

в приложении есть картинки с места событий!

Это сообщение отредактировал(а) Programister0 - 13.11.2007, 05:15

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  a_vot_i_ya.GIF 50,35 Kb
PM MAIL WWW ICQ Skype   Вверх
IPFreely
Дата 13.11.2007, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 24.4.2006

Репутация: нет
Всего: нет



так это ошибка qmake?
или ошибка mingw32-make?

я не понял где валится то вообще?
как вообще собираете библиотеку?

у меня все скомпилилось...правда я без  плагинов всяких дополнительных собирал...


по поводу ошмибки 0хс0000142 - народ чет в инете пишет по этому поводу
PM MAIL   Вверх
Programister0
Дата 14.11.2007, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



ошибка в mingw32-make, во время компиляции:
Цитата

c:\qtprog\qt>C:\qtprog\MinGW\bin\mingw32-make.exe
c:\qtprog\qt\bin\qmake -spec mkspecs\win32-g++ -win32 -o Makefile projects.pro
c:\qtprog\qt\bin\qmake -spec mkspecs\win32-g++ -win32 -o Makefile projects.pro
c:\qtprog\qt\bin\qmake -spec mkspecs\win32-g++ -win32 -o Makefile projects.pro
...
c:\qtprog\qt\bin\qmake -spec mkspecs\win32-g++ -win32 -o Makefile projects.pro
c:\qtprog\qt\bin\qmake -spec mkspecs\win32-g++ -win32 -o Makefile projects.pro
c:\qtprog\qt\bin\qmake -spec mkspecs\win32-g++ -win32 -o Makefile projects.pro
mingw32-make: *** [makefile] Error -1073741502


до этого я запускал configure.exe вообще без параметров (для проверки) нажимал 'y' и все проходило успешно.

может ОЗУ нехватает? 
у меня 512мб, cpu 2800 celeron D 533, 256kb;
во время компиляции выделяется ~650-700мб памяти, 
файл подкачки у меня поставлен фиксир-го размера 2гб!
PM MAIL WWW ICQ Skype   Вверх
Programister0
Дата 22.11.2007, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



все решилось! всем спасибо за внимание!
если интересно решение следующее:
1) чтоб избавиться от ошибки -1073741502 надо было отключить в QTdir/projects.pro обработку demos & exampes - я сделал это просто удалив/закоментировав все строки где встречаются эти слова.

2) для добавления поддержки ibase:
создаем *.a файлы нужных dll-k:
Код

(пути к Firebird, dlltool, reimp - поставьте свои и желательно полные)
cd C:\qtprog\bd\Firebird_2_0\lib
copy C:\qtprog\bd\Firebird_2_0\lib\fbclient_ms.lib C:\qtprog\bd\Firebird_2_0\lib\fbclient.lib
copy C:\qtprog\bd\Firebird_2_0\bin\fbclient.dll C:\qtprog\bd\Firebird_2_0\lib\fbclient.dll 
rem сгенерировать def-файл
  C:\qtprog\CodeBlocks\bin\reimp.exe -d fbclient.lib
rem сформировать библиотеку *.a: 
  C:\qtprog\CodeBlocks\mingw32\bin\dlltool.exe -d fbclient.def -l fbclient.a fbclient.dll -k

копируем gds32_ms.dll (непомню где его нашел - потому вложу его в приложение) в туже директорию

меняем содержимое ibase.pro на следующее:
Код

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

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds
win32:INCLUDEPATH += C:\qtprog\bd\Firebird_2_0\include
win32:LIBS += -lfbclient_ms
win32:LIBS += -LC:\qtprog\bd\Firebird_2_0\lib

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


и из QTDIR запускаем (не забывая поменять пути на свои):
Код

set QTDIR=c:\qtprog\qt
configure -shared -qt-sql-ibase -release
cd c:\qtprog\qt\src\sql
C:\Qtprog\qt\bin\qmake.exe -o Makefile sql.pro "INCLUDEPATH+=C:\qtprog\bd\Firebird_2_0\include" "LIBS+=C:\qtprog\bd\Firebird_2_0\lib\fbclient.lib"
C:\Qtprog\mingw\bin\mingw32-make.exe

и все работает!


Присоединённый файл ( Кол-во скачиваний: 29 )
Присоединённый файл  gds32_ms.zip 102,18 Kb
PM MAIL WWW ICQ Skype   Вверх
Programister0
Дата 22.11.2007, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



PS: возможно эту тему тоже можно отнести в "Кроссплатформенное программирование, QT/Gtk+/wxWidgets"

здесь вторая часть архива gds32_ms

Присоединённый файл ( Кол-во скачиваний: 35 )
Присоединённый файл  gds32_ms.z01 115,00 Kb
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.