Russian Qt Forum

Qt => Базы данных => Тема начата: george от Май 05, 2011, 16:20



Название: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: george от Май 05, 2011, 16:20
второй день не могу подключить MySQL в Qt, чтобы работать в студии. Весь инет пишет, что надо сделать следующее:

Код:
cd <QTDIR>\src\plugins\sqldrivers\mysql
qmake -o Makefile «INCLUDEPATH+=C:\MySQL\include» «LIBS+=C:\MySQL\lib\opt\libmysql.lib» mysql.pro
nmake

делаю что написано, затем копирую файл libmysql.lib в папку с программой, в каталог <QTDIR>\bin, и даже в system32 (в интернете разное пишут, сделал чтобы всюда было всё), проект в студии всё равно не может открыть базу с драйвером QMYSQL.
Помогите, пожалуйста, ибо силы исчерпываются.

что меня тревожит:
1. строка LIBS+=C:\MySQL\lib\opt\libmysql.lib - на самом деле в папке MySQL каталога c файлом lib\opt\libmysql.lib нету, есть только lib\libmysql.lib (устанавливал несколько версий MySQL, всюда файл libmysql.lib лежит в \lib\, а каталог lib\opt\ отсутствует.
2. что делает в ключах qmake  mysql.pro? Если б я писал в креаторе, а не студии, где есть .pro -файлы, тогда , возможно, попробовал бы поработать с про-файлом проекта, но я пишу в студии, и никаких .pro здесь не видел.

Очень даже возможно, что в чем-то из вышенаписанного я [глубоко] заблуждаюсь. Как правильно сделать?


Название: Re: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: warlock от Май 05, 2011, 16:52
Я сам неделю назад разбирался с подключением драйвера MYSQL.
Поскольку мы пишем на Qt, то приложения у нас кроссплатформенные. На каждой из платформ придется разбираться с этими драйверами.
Поэтому я решил не компилировать драйвер отдельно, а компилирую его вместе с моим проектом. И мои кошмары закончились.

Кстати, я разобрался после того, как начал думать что делаю. Поэтому идея
Цитировать
затем копирую файл libmysql.lib в папку с программой, в каталог <QTDIR>\bin, и даже в system32
плохая.

По тому что тревожит:
1. У меня есть каталог lib\opt и в нем лежит libmysql.lib. Других вариантов и не видел
2. ты же комплируешь из консоли, тут ни студия, ни креатор ни при чем.

Больше всего мне помогла эта тема: http://www.prog.org.ru/topic_8802_15.html (http://www.prog.org.ru/topic_8802_15.html)
Тут исходники драйвера  человек прикрепил: http://www.prog.org.ru/index.php?topic=8802.msg51482#msg51482 (http://www.prog.org.ru/index.php?topic=8802.msg51482#msg51482)


Название: Re: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: george от Май 05, 2011, 22:50
спасибо, почитал, не радует что в тех темах повсюду MinGW  :-[

скачал нормальный MySQL, qmake и nmake отработали нормально.

В папке C:\MySQL\bin\ лежит libmysql.dll. В PATH прописан путь C:\MySQL\bin\, но проект в студии всё равно не открывает соединение. Снова помещал файл libmysql.dll в папки проекта, в каталог <QTDIR>\bin , и в system32 - безрезультатно.

что посоветуете?



Название: Re: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: warlock от Май 05, 2011, 23:22
Так вы все же пытаетесь отдельно mysql драйвер компилировать?

К сожалению в этих делах я далеко не эксперт. Рассказываю только как сам проходил через этот лес.
В вашем каталоге C:\MySQL\lib\opt\ должны быть файлы libmysql.a и libmysql.dll

п.с. и да, интересно почему вы не используете qtcreator + mingw?


Название: Re: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: george от Май 06, 2011, 00:28
to warlock: просто люблю в студии работать, в креаторе не нравится то, что он, заботливый, подчеркивает красным всё, что он не так написано ) глаза режет.

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


Название: Re: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: warlock от Май 06, 2011, 00:58
Если вы успешно откомпилировали драйвер, то в директории <путь к qt>\plugins\sqldrivers должен появиться драйвер (qsqlmysql4.dll, libqsqlmysql4.a). Проверьте.
цитирую то, что уже писал: "В вашем каталоге C:\MySQL\lib\opt\ должны быть файлы libmysql.a и libmysql.dll". Проверьте.
Цитировать
вопрос, сформулированный в предыдущем посте, остается актуальным!
вы правда считаете что сможете что-то сделать, только задавая вопросы? перечитайте мое предыдущее сообщение, там есть вопрос?
я пытаюсь вам дать универсальное решение, вы же ставите в основу сообщений холиварное содержание. Я ведь не зря в постскриптум написал. Кстати студия не меньше подсвечивает ошибки.


Название: Re: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: george от Май 06, 2011, 01:41
libmysql.a - с точностью в 95% могу сказать, не имеет отношения к MSVC, и создаётся при сборке с MinGW. Так же как MSVC наверняка не использует def-файл, который использует MinGW. (вывод из ассистант, раздел SQL Database Drivers).
В opt\ libmysql.a нет, так же как libmysql.dll (такой файл есть в c:\mysql\bin\)
В <qtdir>\plugins\sqldrivers\  есть qsqlmysql4.dl, но нет ни единого файла с раширением *.а

ищу дальше решения.

что не касается темы: вопрос в предыдущем посте был адресован не конкретно вам, warlock, потому что как видите, здесь нас только двое, а я вновь поднимаю топик, чтобы привлечь внимание и других людей. Я всё-таки рассчитываю встретить того, кто прикручивал плагином MySQL к VS. И холивар не к месту, я вас внимательно читаю, уважаю и ценю вас, и ваше время, и это не пустые слова. вот, собссна.


Название: Re: подключить MySQL в QT дял работы в Visual Studio 2008
Отправлено: shulgaserj от Сентябрь 29, 2011, 20:29
Так написано в документации!

cd <QTDIR>\src\plugins\sqldrivers\mysql
qmake -o Makefile «INCLUDEPATH+=C:\MySQL\include» «LIBS+=C:\MySQL\lib\opt\libmysql.lib» mysql.pro
nmake

Я установил MySQL C:\MySQL\5.

Соответсвенно прописал    qmake -o Makefile «INCLUDEPATH+=C:\MySQL\5\include» «LIBS+=C:\MySQL\5\lib\libmysql.lib» mysql.pro

qmake отработал нормально. Появились Makefile, Makefile.Debug, Makefile.Release.

После nmake у меня создались DLL в плугах.

И пришло ко мне счастье!!!