25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
1 | |
Как подключить драйвера Mysql к Qt под WinXP?01.08.2011, 12:15. Показов 9740. Ответов 31
Метки нет (Все метки)
Может кто подскажет как подключаются драйвера mySQL к Qt SDK под Windows?
Поставлен Qt_SDK_Win_offline_v1_1_2_en.exe, последняя версия MySQL. Пробовал сделать как в http://www.pikopong.com/blog/2... omment-147 Но получаю сообщение об ошибках - во вложении Буду благодарен за любую ссылку или подсказку.
0
|
01.08.2011, 12:15 | |
Ответы с готовыми решениями:
31
Драйвера для Canon: выбрать WinXP или WinXP SP2? Как заставить работать МФУ j5520 под Win 7? Родные драйвера только под XP пк неработает в сети под winXP,под 7 норм. в чем причина? Не загружается WinXP после установки драйвера |
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
01.08.2011, 12:37 | 2 |
АТерентьев, Все проще, заходишь в qt\src\plugins\sqldrivers\mysql , открываешь там файл .pro в креаторе и собираешь, иногда приходится в pro файле пути подкорректировать, ну и в системной переменной Path все путь к Qt и minGW должны быть прописаны. Где то после этого должна появиться dll, ну ее и подключаешь так же путем некоторых манипуляций в pro файле уже твоего проекта..
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
01.08.2011, 17:54 [ТС] | 3 |
Спасибо!
Но что-то ошибки победить не удается. mysql.h находится, если я правильно понимаю, в каталоге "C:\Program Files\MySQL\MySQL Server 5.5\include" и ,видимо, этот путь нужно где-то прописать. А вторая ошибка пока непонятна. Я прошу прощения - второй день за Qt
0
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
01.08.2011, 17:59 | 4 |
АТерентьев, В папке с mySQL есть файлы mysql.h и еще библиотека mysql.lib кажется, к ним прям в этом проекте можешь путь прописать, либо добавить в Path путь к папкам mySQL (только тогда комп перегружать придется)
0
|
Почетный модератор
11525 / 4320 / 448
Регистрация: 12.06.2008
Сообщений: 12,412
|
|
01.08.2011, 18:09 | 5 |
Если установлен MySQL, то посмотри в нём есть ли папка include и lib/opt. Если есть, но нормально... а если нет, то придётся скачать архив с мусклом и оттуда взять это. По какой-то причине, я содержимое архива распаковал в папку C:\MySQL... почему-то в Program Files не стал... возможно, какие-то проблемы были. Не помню уже.
Теперь действуем по инструкции: В консоли переходим в папку C:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql (я ещё в эту папку зачем-то скопировал файл libmysql.dll из установленного мускла... возможно, это лишнее). И выполняем там команду: Код
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro После этого я запускал mingw32-make.exe (он находится в C:\Qt\2010.05\mingw\bin\... пропиши её в path). Теперь по идее можно в свой проект добавить Код
QT += sql
1
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
01.08.2011, 19:10 [ТС] | 6 |
vitaly1981 - Прописал в Path
Код
C:\Program Files\MySQL;C:\Program Files\MySQL\MySQL Server 5.5;C:\Program Files\MySQL\MySQL Server 5.5\include\ Если не сложно какая строка должна появиться в .pro чтобы эти файлы прописать, хотя один, второй по аналогии сделаю. Можно как то путь прописать или непосредственно сделать Include файл ? Humanoid - у Виталия, мне кажется тоже самое только попроще - команды встроены в оболочку. А насчет включения файлов - проблемы будут те же. include директория есть - там файл mysql.h Файл libmysql.dll содержится в директории - C:\Program Files\MySQL\MySQL Server 5.5\lib. Директории lib/opt нет. Нужен пример как прописывать и где эти пути ?
0
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
01.08.2011, 19:22 | 7 |
АТерентьев, Насколько помню я вообще в тех файлах просто прописывал полный путь к mysql.h
Да это тоже самое, мне как то лень было это все в командной строке набирать. Тем более у Qt вообще есть странные приколы с путями.
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
01.08.2011, 19:35 [ТС] | 8 |
Это помогло -
Код
#include <C:\Program Files\MySQL\MySQL Server 5.5\include\mysql.h> Код
:-1: ошибка: \lib\libmysql.lib: No such file or directory Файл находится в директории "C:\Program Files\MySQL\MySQL Server 5.5\lib"
0
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|||||||||||
01.08.2011, 19:45 | 9 | ||||||||||
АТерентьев, А вспомнил, короче это он берет в файле Makefile. Простейший способ, открываешь этот файл редактором и прописываешь путь к lib файлу, сохраняешь и запускаешь сборку.
У меня там такая строка получилась:
И еще вот такая строчка ниже была
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
01.08.2011, 20:01 [ТС] | 10 |
Вот такая строка в QCreator формируется
Код
qmake.exe C:\QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\mysql\mysql.pro -r -spec win32-g++ INCLUDEPATH+=%mysql%\include LIBS+=%mysql%\lib\libmysql.lib Код
LIBS+= C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib Unescaped back slashes are deprecated, Файл не найден [internal] правда ошибки не дает, но пишет просто файл не найден, не указывая какой файл. Что бы это значило?
0
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
01.08.2011, 20:04 | 11 |
АТерентьев, Если в пути есть пробелы, то это все берется в кавычки, посмотри внимательно примеры строк, которые я написал.
1
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
01.08.2011, 20:52 [ТС] | 12 |
Заменил слэши на обратные , вроде ошибок не дает.
Надо бы попробовать Добавлено через 21 минуту Вот текущий вариант - формируемый SDK (На обратные слэши не ругается , но в LIBS - разбивает все по пробелам ... Код
qmake.exe C:\QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\mysql\mysql.pro -r -spec win32-g++ "INCLUDEPATH+=%mysql%/include" " LIBS+=C:/Program Files/MySQL/MySQL Server 5.5/lib/libmysql.lib" Вот вариант - qmake.exe C:\QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\mysql\mysql.pro -r -spec win32-g++ "INCLUDEPATH+=%mysql%/MySQL Server 5.5/include" "LIBS+=%mysql%/MySQL Server 5.5/lib/libmysql.lib" Ругается только на пробелы в LIBS - /MySQL нет такого файла или директории Server - Нет такого файла или директории 5.5/lib/libmysql.lib - нет такого файла или директории. И когда вместо %mysql% поставить реальный путь - тоже самое. Вообщем не могу догадаться что делать...
0
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
02.08.2011, 05:25 | 13 |
АТерентьев, Блин....я ведь тебе выложил рабочие уже пути, тебе только на свой поменять нужно. Не надо слеши менять.
можешь LIBS в pro файле прописать, поидее на основании его Makefile формируется, но точно не помню уже.
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
02.08.2011, 08:55 [ТС] | 14 |
Так я как школьник все и повторил вчера - см. во вложении, но не прокатило чтой-то. Видно изменения были введены - обратные слэши запретили, как устаревшие , убрали каталог \opt - в инструкциях его вроде нет http://www.pikopong.com/blog/2... omment-147 .
0
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
||||||
02.08.2011, 09:07 | 15 | |||||
Не, в параметры сборки я опции не добавлял
Вот нашел, последний раз собирал pro файл такой делал:
Добавлено через 2 минуты Собирал я на 4.7.0 , сомневаюсь что там что то принципиальное поменяться могло.
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
02.08.2011, 13:19 [ТС] | 16 |
Все получилось после того как путь заключил в одинарные кавычки ' ... ' и поставил обратные слэши.
Т.е. просто открываем проект по сборке mysql (C:\QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\mysq\mysql.prol) и правим пути на вкладке параметров сборки, собираем. Затем 4 файла, указанные на 2 вложении (по 2 файла из debug и release) переписываем в тот же каталог , который указан во втором вложении. Затем не забываем в файле проекта дописать QT += sql и можно пользоваться MySQL. Всем спасибо!
0
|
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
|
||||||
17.02.2012, 15:29 | 17 | |||||
тема-тема... ОЖИВИ!
Доброго времени суток! имею приблизительно сходную проблему, скомпилил плагин для MySQL драйвера, положил в %QTDIR%\plugins\sqldrivers\ полученную debug версию плагина (в release так и не получилось скомпилить, видимо нужно какой-то хитрый ключик в pro файле прописать), пишу сверх крутую программу:
ткните носом пожалуйста Ув. Аll, что делаю не так?
0
|
25 / 24 / 18
Регистрация: 16.10.2009
Сообщений: 1,156
|
|
17.02.2012, 16:31 [ТС] | 18 |
К сожалению нет под рукой QT, но по сообщению видно , что система не видит скомпиллированного драйвера. У меня в последнем сообщении показано что и где должно лежать. В зависимости под что собирается программа места могут быть разные. У меня на втором скриншоте показано 4 файла для MySql , полученные после компилляции для desktop. Здесь же 4 файла для sqlLite, которые есть по умолчанию. Если нужно не для desktopa - найдите то место , где должны лежать просто по поиску, скажем для sqlLite.
Остальное вроде все описано.
0
|
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
|
|
17.02.2012, 17:13 | 19 |
0
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
||||||
17.02.2012, 17:43 | 20 | |||||
В main.cpp
Учтите имена подпапок должны быть именно такие, а не другие, с другими может не работать, проверено.
0
|
17.02.2012, 17:43 | |
17.02.2012, 17:43 | |
Помогаю со студенческими работами здесь
20
Драйвера к SCX-4100 на WinXP 64 бит. Написание драйвера для плоттера в WinXP Lenovo B50-30 драйвера для WinXP MySQL и C++. Как подключить <mysql.h>? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |