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

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

Страниц: [1] 2 3 ... 5   Вниз
  Печать  
Автор Тема: Как организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010?  (Прочитано 38264 раз)
Dzeto
Гость
« : Ноябрь 19, 2013, 19:13 »

Здравствуйте. Помогите разобраться как можно организовать работу с БД FireBird 2.5 в среде Qt 4.8.4 + VC 2010.
 
Чтобы работала подобная связка:

#include "MyClass.h"
#include "QSqlDatabase"

MyClass::MyClass(QWidget *parent, Qt::WFlags flags)
   : QMainWindow(parent, flags)
{
ui.setupUi(this);

QSqlDatabase db = QsqlDatabase::addDatabase("Непонимающий"); //Как добыть драйвер
db.setHostName("Непонимающий");
db.setDatabaseName("Непонимающий");
db.setUserName("SYSDBA");
db.setPassword("masterkey");
bool ok = db.open();
}

Если можно, то избыточно подробно и по пунктам, с минимальными ссылками на другие источники, а так же в максимально понятной для неопытного новичка форме. Огромное спасибо тем, кто откликнется, если таковые будут:)
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #1 : Ноябрь 19, 2013, 22:50 »

  Тут  есть все ответы.

Код:
# Для сборки SQL драйвера Firebird, необходимо добавить в файл
# Qt5    ./5.0.0/Src/qtbase/src/plugins/sqldrivers/ibase/ibase.pro
# Qt4    ./src/plugins/sqldrivers/ibase/ibase.pro
# две следующие строчки (добавлять в конец файла)

INCLUDEPATH +="c:/Program Files/Firebird/Firebird_2_5/include"
LIBS        +=-L"c:/Program Files/Firebird/Firebird_2_5/lib" -lfbclient_ms

# и скомпилировать

# Полученные драйверы могут оказаться в корне диска dsk:/plugins/sqldrivers
# Или в $QT_DIR/plugins/sqldrivers


Windows:  fbclient.dll  положить в Windows/system32 или рядом с exeшником
Unix:  нужно сделать линк на libclient.so.2  в /usr/lib
Записан

Dzeto
Гость
« Ответ #2 : Ноябрь 20, 2013, 20:50 »

1) Выяснил, что *.pro файлы открываются и пересобираются с помощью QtCreator.
2) Скачал вот такую штуку: qt-windows-opensource-5.1.1-msvc2010-x86-offline.exe
3) Добавил строки, надеюсь, правильные.
Сборка не произошла... Понятия не имею в чем проблема:(





Полный текст "консоли сборки":


21:29:51: Выполняются этапы для проекта ibase...
21:29:51: Запускается: «C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\qmake.exe» C:\Qt\4.8.4\src\plugins\sqldrivers\ibase\ibase.pro -r -spec win32-msvc2010 "CONFIG+=debug" "CONFIG+=declarative_debug" "CONFIG+=qml_debug"
Project WARNING: qmake spec does not announce the compiler family. Guessed msvc.
21:29:51: Процесс «C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\qmake.exe» завершился успешно.
21:29:51: Запускается: «C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe»
   C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
   cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtCore" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtSql" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include" -I"C:\Program Files\Firebird\Firebird_2_5\include" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\ActiveQt" -I"debug" -I"..\ibase" -I"." -I"..\..\..\..\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\---\AppData\Local\Temp\main.obj.10888.16.jom
"cl" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
jom: C:\Qt\4.8.4\src\plugins\sqldrivers\build-ibase-Desktop_Qt_5_1_1_MSVC2010_32bit-Debug\Makefile.Debug [debug\main.obj] Error 1
   cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtCore" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtSql" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include" -I"C:\Program Files\Firebird\Firebird_2_5\include" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\ActiveQt" -I"debug" -I"..\ibase" -I"." -I"..\..\..\..\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\---\AppData\Local\Temp\qsql_ibase.obj.10888.32.jom
"cl" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
   C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\moc.exe -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtCore" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\QtSql" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include" -I"C:\Program Files\Firebird\Firebird_2_5\include" -I"C:\Qt\Qt5.1.1\5.1.1\msvc2010\include\ActiveQt" -I"debug" -I"..\ibase" -I"." -I"..\..\..\..\mkspecs\win32-msvc2010" -D_MSC_VER=1600 -DWIN32 ..\..\..\sql\drivers\ibase\qsql_ibase.h -o debug\moc_qsql_ibase.cpp
   rc -D_DEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_DLL -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_QML_DEBUG -fo debug\qsqlibased_resource.res qsqlibased_resource.rc
"rc" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.
jom: C:\Qt\4.8.4\src\plugins\sqldrivers\build-ibase-Desktop_Qt_5_1_1_MSVC2010_32bit-Debug\Makefile.Debug [debug\qsql_ibase.obj] Error 1
jom: C:\Qt\4.8.4\src\plugins\sqldrivers\build-ibase-Desktop_Qt_5_1_1_MSVC2010_32bit-Debug\Makefile.Debug [debug\qsqlibased_resource.res] Error 1
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #3 : Ноябрь 21, 2013, 17:10 »

Dzeto, а компилятор то у тебя от Visual Studio Установлен ?
покажи скрин настроек с компиляторами. (как на твоей второй картинке, только вкладку "Компиляторы")
Записан
Dzeto
Гость
« Ответ #4 : Ноябрь 21, 2013, 19:36 »

Выкладываю все, включая настройки:
В главном окне при нажатии "Собрать проект" Ctrl+B

Основное  

Комплекты

Профили

Компиляторы
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #5 : Ноябрь 21, 2013, 19:49 »

Блин, выглядит все правильно.

Попробуй создать новый проект, и скомпилируй его.
« Последнее редактирование: Ноябрь 21, 2013, 19:53 от alex312 » Записан
Dzeto
Гость
« Ответ #6 : Ноябрь 21, 2013, 20:01 »

Вроде никаких ошибок в директориях и именах файлов я не сделал.
Если вдруг как-то поможет, то(мало ли что-то не так):
В папке c:\Qt\4.8.4\src\plugins\sqldrivers\ibase\ у меня три файла ibase.pro, main.cpp, ibase.pro.user.
В c:\Program Files\Firebird\Firebird_2_5\include\ пять - ib_ulit.h ibase.h iberror.h perf.h ib_util.pas
c:/Program Files/Firebird/Firebird_2_5/lib/fbclient_ms.lib существует.

Сам уже перерыл море тем. Может не доходит до меня что-то... Вся надежда на специалистов
Записан
Dzeto
Гость
« Ответ #7 : Ноябрь 21, 2013, 20:06 »

Эм.. новый проект создать не вышло. Qt Creator'ом пользуюсь первый раз и скачать его пришлось только для того, чтобы собрать драйвер. Можно в мягкой форме, никуда и ни к кому не посылая пояснить что скорее всего я не так сделал?)



Не надо ли этот "jom" менять на qmake - чтобы они там не значили?\\
Записан
Majestio
Гость
« Ответ #8 : Ноябрь 21, 2013, 20:19 »

"cl" ­Ґ пў«пҐвбп ў­гв७­Ґ© Ё«Ё ў­Ґи­Ґ©
Є®¬ ­¤®©, ЁбЇ®«­пҐ¬®© Їа®Ја ¬¬®© Ё«Ё Ї ЄҐв­л¬ д ©«®¬.

В переводе с туркменского это должно означать:

Цитировать
"cl" н­е является в­нутренн­­ей или в­неш­ней
командой, исполн­яемой программой или пакетн­ым файлом."

Дальше нужен хелп?  Подмигивающий
Записан
Dzeto
Гость
« Ответ #9 : Ноябрь 22, 2013, 01:03 »

Да, нужен хелп... Установил MSVC2010 в папку без русских символов - это не помогло. Был бы признателен за подсказки что можно (нужно) еще сделать\\
Записан
Dzeto
Гость
« Ответ #10 : Ноябрь 22, 2013, 01:51 »

Если проблема может быть связана с Path, то у меня:
Path - "C:\Qt\4.8.4\bin;"
QTDIR - "c:\Qt\4.8.4\"
Записан
Majestio
Гость
« Ответ #11 : Ноябрь 22, 2013, 07:33 »

Если проблема может быть связана с Path, то у меня:
Path - "C:\Qt\4.8.4\bin;"
QTDIR - "c:\Qt\4.8.4\"

С вижуал Ц не работал, но подозреваю, что "cl" - это его компилятор.
Возможно путь к нему тоже должен быть прописан в переменной окружения PATH.

То же касается утилиты "rc" - она тоже не находится, судя по логу.
« Последнее редактирование: Ноябрь 22, 2013, 07:37 от Majestio » Записан
Dzeto
Гость
« Ответ #12 : Ноябрь 22, 2013, 09:28 »

cl.exe находится по адресу "c:\MyProgram\MSVC2010\VC\bin\cl.exe"
В Path занес такую строчку "c:\Qt\4.8.4\bin; c:\MyProgram\MSVC2010\VC\bin;"

Проблема осталась\\
Записан
Majestio
Гость
« Ответ #13 : Ноябрь 22, 2013, 09:34 »

Ну так cl все одно не находится.
Давай так, вызывай cmd.exe и копипасти сюда вывод команды PATH.

А вообще, желательно попробовать сперва без Qt, просто из командной строки попробовать с помощью VC откомпилировать простейший пример. Ну а потом уже запускать Qt Creator.

Выше lesav давал линк - как собирать все из командной строки. Пробуй как там написано, это будет и быстрее, и нагляднее.
« Последнее редактирование: Ноябрь 22, 2013, 09:44 от Majestio » Записан
Dzeto
Гость
« Ответ #14 : Ноябрь 22, 2013, 09:49 »

Записан
Страниц: [1] 2 3 ... 5   Вверх
  Печать  
 
Перейти в:  


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