Russian Qt Forum

Qt => Базы данных => Тема начата: CJ1 от Май 29, 2012, 20:31



Название: QT + MySQL
Отправлено: CJ1 от Май 29, 2012, 20:31
Люди, пожалуйста помогите мне,
Проблема как у всех новичков. Делаю простой код соединения с MySQL говорит драйвер не установлен.
Перерыв кучу форумов , понял что нуно скачать какуюто ren....exe и откомпилить чтото с нее.

Но не пойму где скачать.

Вобщем нашел готовые 4 файла, 2 dll И 2 lib. Теперь куда их поставить и что с ними делать нипойму, а там где я качал (на какомто форуме) все говорили что работает, я тупо нипойму куда их закинуть, помогите мне, названия файлов и все такое не помню потомучто все на компе на работе, очень прошу помоч

Файлы называются так libqsqlmysqld4.a and qsqlmysqld4.dll. и libqsqlmysql4.a and qsqlmysql4.dll.

И кстати, вот такой папки у   c:\QtSDK\Desktop\Qt\4.7.3\mingw\plugins\sqldriv
ers\ меня тое нету у меня тупо c:\QtSDK\Desktop\Qt\4.7.3\vs2008


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 29, 2012, 22:15
Что ещё за ren? В документации достаточно понятно описано как компилить плагин: http://doc-snapshot.qt-project.org/4.8/sql-driver.html#qmysql (http://doc-snapshot.qt-project.org/4.8/sql-driver.html#qmysql), см. "How to Build the QMYSQL Plugin on Windows". Скачать с офсайта движок, установить, выдрать инклюды и либы, скомпилировать плагин. Не забудьте при распространении приложения положить ему в папку с бинарником требуемые файлы от MySQL.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 07:08
Из всего этого я так и непойму как его скомпилировать??????? Да и нафиг мне его компелировать если он у меня уе скомпелированный, я нипойму куда его засунуть надо!!!!!!!!!!!!!


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 07:56
Неужели там так непонятно написано? По-моему, всё очевидно. А то, что он уже есть скомпилированный, ни о чём не говорит. Судя по первому сообщению, плагин скомпилирован mingw, а у вас - vs2008. Работать не будет. И вообще, если хотите проблем - используйте готовые "левые" плагины. Но не удивляйтесь, если не будет работать или сваливаться в ошибки.

P.S. Не знаю, куда засунуть. У вас QtSDK, а я его сильно недолюбливаю, пользуюсь отдельными сборками. Поэтому о путях ничего не могу сказать. Может быть, подскажет кто-то, у кого есть QtSDK.


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 08:26
Вот инструкция по компиляции даже без установки MySQL. Для QtSDK пути, вероятно, нужно будет немного подправить.

Идём на страницу http://www.mysql.com/downloads/mysql/ (http://www.mysql.com/downloads/mysql/) и скачиваем zip-архив с откомпилированной под требуемую архитектуру версией MySQL. К примеру, пусть это будет Windows (x86, 32-bit), ZIP Archive. Из архива в отдельный каталог (например, C:\MySQL) распаковываем папки include и libs. Переходим в каталог %QTDIR%\src\plugins\sqldrivers\mysql\ и запускаем там командную оболочку. В ней запускаем qmake:
Код:
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\lib\opt\libmysql.lib"
Компилируем:
Код:
nmake all
nmake debug-install
nmake release-install
Наконец, копируем файл c:\MySQL\lib\libmysql.dll в %QTDIR%\bin или в любой другой каталог, присутствующий в системной переменной %PATH%.
Готово.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 08:45
Говорю еще раз, у меня не существует таких файликов как nmake

Когда делаю
C:\Windows\system32>qmake "INCLUDEPATH+=C:\Program Files\MySQL\MySQL Server 5.5\
include" "LIBS+=C:\Program Files\MySQL\MySQL Server 5.5\lib"
WARNING: (internal):1: Unescaped backslashes are deprecated.
c:\Windows\system32\graphics.pro:1: Parse Error (';-----------------------------
-----------------------------------------------')
Error processing project file: C:/Windows/system32/graphics.pro


Вот эта тупая ошибка

потом


C:\Windows\system32>nmake all
"nmake" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Windows\system32>nmake debug-install
"nmake" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Windows\system32>nmake release-install
"nmake" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Windows\system32>


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 08:53
Я немогу скомпилировать, у меня куча ошибок

У меня есть файлы
libqsqlmysql4.a
libqsqlmysqld4.a
qsqlmysql4.dll
qsqlmysqld4.dll

Куда их засунуть чтоб он наконец увидел?


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 09:01
Он в отладчике пишет вот так

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE


Вы можете объяснить как заставить его написать вот так
QSqlDatabase: available drivers: QSQLITE QMYSQL

Откуда он это берет вообще?

Вот эти гребаные файлы
libqsqlmysql4.a
libqsqlmysqld4.a
qsqlmysql4.dll
qsqlmysqld4.dll
лижат тут C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\plugins\sqldrivers

Что еще ему надо??????????????


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 09:04
Или скинте мне все эти nmake и все что нужно пожалуйста


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 09:13
Говорю еще раз, у меня не существует таких файликов как nmake
Ну знаете ли... Вначале вам нужно научиться работать с командной строкой MSVC... "Нет nmake" и при этом Qt под vc2008... Запускайте командную строку через ярлык в меню. Как называется не помню, у меня нет сейчас под рукой микрософтовских компиляторов. Что-то типа "MS VC Command Prompt".

C:\Windows\system32>
Команду CD для чего придумали? Каталог нужно сменить на тот, где лежит файл mysql.pro.

Он в отладчике пишет вот так

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE


Вы можете объяснить как заставить его написать вот так
QSqlDatabase: available drivers: QSQLITE QMYSQL

Откуда он это берет вообще?

Вот эти гребаные файлы
libqsqlmysql4.a
libqsqlmysqld4.a
qsqlmysql4.dll
qsqlmysqld4.dll
лижат тут C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\plugins\sqldrivers

Что еще ему надо??????????????
Ещё раз говорю: СКОМПИЛИРОВАНЫ ДРУГИМ КОМПИЛЯТОРОМ!!!! ОН ИХ НЕ УВИДИТ!!!! НАДО КОМПИЛИРОВАТЬ САМОМУ!!!


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 09:15
Где вы их вообще взяли? Дайте ссылку.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 09:48
Вот что пишет мне командная строка MSVS2008

Код
Bash
C:\Program Files\Microsoft Visual Studio 9.0\VC>qmake "C:\Program Files\MySQL\My
SQL Server 5.5\include"
"LIBS+=C:\Program Files\MySQL\MySQL Server 5.5\lib"
WARNING: (internal):1: Unescaped backslashes are deprecated.
Error processing project file: C:/Program Files/MySQL/MySQL Server 5.5/include
 
C:\Program Files\Microsoft Visual Studio 9.0\VC>nmake all
 
Служебная программа обслуживания программ Microsoft (R), версия 9.00.21022.08
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
 
NMAKE : неустранимая ошибка U1073: не хватает сведений для построения "all"
Stop.
 
C:\Program Files\Microsoft Visual Studio 9.0\VC>nmake debug-install
 
Служебная программа обслуживания программ Microsoft (R), версия 9.00.21022.08
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
 
NMAKE : неустранимая ошибка U1073: не хватает сведений для построения "debug-ins
tall"

Stop.
 
C:\Program Files\Microsoft Visual Studio 9.0\VC>nmake all
 
Служебная программа обслуживания программ Microsoft (R), версия 9.00.21022.08
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
 
NMAKE : неустранимая ошибка U1073: не хватает сведений для построения "all"
Stop.
 


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 09:49
Djn dfv ccskrf ult z b[ dpzk

http://qt.shamangrad.net/lib/exe/fetch.php?media=drivers:mysql.rar


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 09:57
C:\Program Files\Microsoft Visual Studio 9.0\VC>
Вы вообще читаете мои ответы? СМЕНИТЕ РАБОЧИЙ КАТАЛОГ на тот, в котором лежит mysql.pro используя команду cd. В приглашении командной строки должен быть именно он.

Посмотрел я скомпиленные либы. Как я и предполагал, они собраны с использованием mingw. В Qt с msvc2008 они работать не будут.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 11:12
Теперь на пальцах

Открыл я Visual Studio 2008 Command Prompt
Дальше мне нужно перейти туда где есть mysql.pro
Но его не существует!


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 11:15
Тогда надо в программе обслуживания QtSDK выбрать для установки Qt Sources.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 11:22
Это удалить Qt и заново поставить?


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 11:27
Нет. Там где-то был выбор компонентов для установки. Вызвать эту программку и добавить для установки исходники.

P.S. Нет у меня QtSDK, точно сказать как называется не могу.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 11:33
Вобщем нашел! И почти получилось!

Но при компиляции с помощью QT Creator выдает 22 предупреждения и одну ошибку
C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\plugins\sqldrivers\release\moc_qsql_mysql.cpp:44: ошибка: C2491: QMYSQLDriver::staticMetaObject: ®ЇаҐ¤Ґ«Ґ­ЁҐ dllimport бв вЁзҐбЄЁҐ ¤ ­­лҐ-з«Ґ­ ­Ґ а §аҐиҐ­®


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 11:47
Может кто готовые скинет?


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 11:50
За что разработчики QT так наказывают?


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 11:57
В папки C:\QtSDK\QtSources\4.8.1\src\sql\drivers\mysql

такие файлы
qsql_mysql.cpp
qsql_mysql.h
qsql_mysql.pri

Где взять mysql.pro????


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 12:27
C:\QtSDK\QtSources\4.8.1\src\plugins\sqldrivers\mysql


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 12:31
Но при компиляции с помощью QT Creator выдает 22 предупреждения и одну ошибку
Не надо Creator'ом компилировать. Сделайте через командную строку.

Может кто готовые скинет?
Я уж точно не скину. Давно уже перешёл на Qt 4.8.2. Да и микрософтовский компилятор использую не ниже чем 2010-й версии. А специально для этого разворачивать студию и старую версию Qt, честно говоря, лень.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 12:32
Теперь дает ошибку :-1: ошибка: LNK1104: не удается открыть файл ''C:\Program.obj''


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 12:35
Теперь дает ошибку :-1: ошибка: LNK1104: не удается открыть файл ''C:\Program.obj''
Вот этого не знаю. Где-то ошибка в проекте. Из командной строки компилировалось или Creator'ом?


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 12:44
наконецто!!!!!!!!!!!!!!!!!!!! Получилосььььььььььььь!!!!!!! Спасибо всем! главное было найти файл Mysql.pro и все заработало!!!!!!!!!!!!!! И релизная и debug версия! :) :) :) :) :) :)


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 12:58
Вот, может кому понадобятся эти драйвера

И кстати скомпилировал через QT Creator


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 14:42
Еще одна проблема, на другом компе опять говорит драйвер не установлен, как указать чтоб из корневого каталога брал драйвер?


Название: Re: QT + MySQL
Отправлено: Serr500 от Май 30, 2012, 14:58
Не надо из корневого. Надо из каталога, в котором расположен бинарник. В нём создаём каталог sqldrivers и кидаем туда скомпилированный плагин. В папку с бинарником ещё кладём libmysql.dll.


Название: Re: QT + MySQL
Отправлено: CJ1 от Май 30, 2012, 15:03
Точно! Спасибо!


Название: Re: QT + MySQL
Отправлено: CJ1 от Август 28, 2012, 13:07
Люди, у меня новая проблема, на новый комп установил тот же qt, но теперь нет папки QtSources


Название: Re: QT + MySQL
Отправлено: Serr500 от Август 28, 2012, 13:40
QtSDK? Исходники ставятся отдельно, причём при начале установки их даже в списке нет. Нужно потом запускать менеджер.


Название: Re: QT + MySQL
Отправлено: CJ1 от Август 28, 2012, 13:43
Что нужно сделать?
Запустил SDKMaintenanceTool
Там какую опцию выбрать?


Название: Re: QT + MySQL
Отправлено: Serr500 от Август 28, 2012, 14:24
Я не помню как она точно называется, а на рабочем компе SDK нет. Что-то типа Qt Sources 4.8.1.


Название: Re: QT + MySQL
Отправлено: CJ1 от Август 28, 2012, 14:52
Нашел, а как вручную откомпилировать mysql????


Название: Re: QT + MySQL
Отправлено: CJ1 от Август 28, 2012, 15:22
Все сделал!  :)