![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
acen83 |
![]() ![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Попробуем еще раз:
Рассмотрим 2 варианта встраивания mysql модуля в Qt: 1) mysql-модуль в качестве плагина По инструкции Вам нужно получить MySQL файлы инсталяции. Запустите SETUP.EXE и выбирите "Custom Install". Установите модуль "Libs & Include Files". Собирается плагин так: (например, MySQL установлен в C:\MySQL): cd %QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro nmake скомпилировал плагин, в папке plugins\sqldrivers появился файл qsqlmysql4.dll - вроде все как положено. Но при запуске простого приложения со строчкой QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL"); выводится сообщение об отсутствии mysql модуля, и при этом сообщается что доступны sqlite и odbc... Удалив из папки plugins\sqldrivers файлы sqlite.dll и odbc.dll программа стала ругаться что вообще никаких модулей нет. Но почему она видит эти два модуля и не видит qsqlmysql4.dll? ![]() 2) mysql - модуль встроенный в qt во время компиляции qt В инструкции Скрипт configure не может обнаружить необходимые библиотеки(*.lib) и include-файлы, если она находятся не в стандартных директориях, тогда вам может понадобиться указать путь к ним используя -I и -L опции командной строки. Например, если MySQL include-файлы установлены в /usr/local/mysql (или в C:\mysql\include под Windows), тогда добавьте следующий configure параметр: -I/usr/local/mysql (или -I C:\mysql\include для Windows). Под Windows параметр -I не поддерживает пробелы в пути, тогда используйте 8.3 имена; например, используйте C:\progra~1\mysql вместо C:\Program Files\mysql. Используйте параметр -qt-sql-<driver> для статической сборки БД драйвера с Qt библиотекой или -plugin-sql-<driver> для сборки драйвера как плагина. сказано что для этого надо указать пути до mysql-исходников. Запускаю configure с параметрами -I *include path* -L *lib path* -l libmysql.lib. В списке доступных модулей mysql нет ![]() Кто нибудь вообще работал с MySql в qt-приложении? Сообщение отредактировал acen83 - 10.7.2008, 18:54 |
|
|
rich |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(acen83 @ 8.7.2008, 19:53) Link Попытался заюзать данные с MySql сервера - qt заругался что в нем нет драйвера MySQL. Поставил MySql 5 на комп, запускаю configure qt - в списках доступных баз MySql нету ![]() Как же это все работает? ![]() p.s. библиотеку мне еще надо собрать статическую, чтобы никаких дополнителных файлов к экзешнику не требовалось мож при сборке Qt поддержку Sql драйвера надо было указать |
|
|
acen83 |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
deleted
Сообщение отредактировал acen83 - 10.7.2008, 18:50 |
|
|
Admin |
![]()
Сообщение
#4
|
Администратор ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: ![]() ![]() ![]() |
Попробуй руками собрать плагин для MYSQL: Link
p.s. acen83, одного нажатия на кнопку отправить достаточно. ![]() |
|
|
acen83 |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
deleted
Сообщение отредактировал acen83 - 10.7.2008, 18:50 |
|
|
ViGOur |
![]()
Сообщение
#6
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(acen83 @ 8.7.2008, 22:19) Link эээ... qmak'а то еще нет (библиотека не собрана)... 2 раза чтоли компилировать придется? Не понял, у тебя не собрана Qt? Если так, то собирай просто с поддержкой MySql.Цитата(acen83 @ 8.7.2008, 22:19) Link Теперь запускаю configure, но в списках найденных в системе плагинов mySql нет А зачем ты запускаешь configure?Для проверки наличия mysql поддержки можно запустить %qtdir%\demos\sqlbrowser Для решения проблем возникшей при установке поддержки mysql читай: Link |
|
|
acen83 |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
deleted
Сообщение отредактировал acen83 - 10.7.2008, 18:51 |
|
|
acen83 |
![]()
Сообщение
#8
|
Студент ![]() Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Заново сформулировал проблему (в 1 посте)
|
|
|
ViGOur |
![]()
Сообщение
#9
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Угу, я работаю, поначалу шаманил как и ты, но после прочтения: Link и следования инструкциям у меня заработал плагин.
|
|
|
ЙаМайскЫйПчОЛ |
![]()
Сообщение
#10
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: ![]() ![]() ![]() |
QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL"); ???
1) QT += sql (.pro) 2) #include <QtSql> 3) QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); !!! или я чего то не понял??? у меня так работало. Debian etch r3+ Qt 4.3.5 (commercial) + (vim || KDevelop || QDevelop) + g++ Цитата(acen83 @ 8.7.2008, 20:53) Link сказано что для этого надо указать пути до mysql-исходников. Запускаю configure с параметрами -I *include path* -L *lib path* -l libmysql.lib. В списке доступных модулей mysql нет sad.gif ? зачем? какая платформа, какой Qt ? Сообщение отредактировал ЙаМайскЫйПчОЛ - 11.7.2008, 11:23 |
|
|
acen83 |
![]()
Сообщение
#11
|
Студент ![]() Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(ЙаМайскЫйПчОЛ @ 11.7.2008, 12:27) Link QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL"); ??? очепятался ![]() Цитата(ЙаМайскЫйПчОЛ @ 11.7.2008, 12:27) Link 1) QT += sql (.pro) 2) #include <QtSql> 3) QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); !!! Да. Не пашет. Два плагина видит, mysql не видит. ![]() QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC Цитата(ЙаМайскЫйПчОЛ @ 11.7.2008, 12:27) Link ? зачем? какая платформа, какой Qt ? Затем что в идеале нужно чтобы плагин был встроен в библиотеку qt. Платформа windows, qt 4.4.0 Цитата(ViGOur @ 11.7.2008, 9:51) Link но после прочтения: Драйвера баз данных SQL -> Решение проблем и следования инструкциям у меня заработал плагин. 1) Убедитесь, что вы используете shared Qt библиотеку; вы не может использовать плагины в статической сборке. Убедился - qt скачанная, уже скомпилированная под mingw 2) Убедитесь, что плагин в правильной директории. Для этого можно использовать QApplication::libraryPaths(), чтобы определить, где Qt ищет плагины. Убедился - убирая другие плагины (dll-ки) из папки plugins\sqldrivers они исчезают из списка доступных при запуске программы 3) Убедитесь, что клиентские библиотеки DBMS доступны. Под Windows, вы можете использовать Visual Studio dependency walker. Не понял что за клиентские библиотеки DBMS, так что убедится в их доступности не могу Сообщение отредактировал acen83 - 11.7.2008, 19:03 |
|
|
ViGOur |
![]()
Сообщение
#12
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(acen83 @ 11.7.2008, 19:57) Link Не понял что за клиентские библиотеки DBMS, так что убедится в их доступности не могу Да нет, ключевым словом тут является Visual Studio dependency walker. Посмотри все ли библиотеки твой exe'шник подгружает или какие не видит.Еще вот цитатат от туда: Цитата Если у вас возникли проблемы с загрузкой плагинов, и вы видите ошибку вроде этой: $HOME для винды равен %USERPROFILE% если мне не изменяет память.
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QMYSQLпроблема вероятно в том, что плагин имеет неправильный ключ сборки. Для отладки удалите соответствующую запись в $HOME/.qt/qt_plugins_(qtversion).rc файле. После чего снова попытайтесь загрузить этот плагин, и вы получите более детальное описание ошибки. |
|
|
evCo |
![]()
Сообщение
#13
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Пользовался вот этой штукой как руководством.
Link В дебаг режиме у меня почему-то не подключаються модули сети и sql, но для резлиза все работает. По-этому добавил в про файл CONFIG += release. Выполнил qmake, потом make. Написало:
|
|
|
ViGOur |
![]()
Сообщение
#14
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
По всей видимости у тебя не прописаны пути к mysql include файлам, проверь...
|
|
|
evCo |
![]()
Сообщение
#15
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(ViGOur @ 13.7.2008, 22:56) Link По всей видимости у тебя не прописаны пути к mysql include файлам, проверь... Да прописано все... Я даж в про файл закинул пути к include и к библиотеке libmysql.lib. Но проблема таже |
|
|
evCo |
![]()
Сообщение
#16
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Попробовал пересобрать Qt с драфверавми под мускул.
Собирал по инструкции Link. Только по отключал драйвера под некоторые БД.
Сообщение отредактировал evCo - 14.7.2008, 19:46 |
|
|
ViGOur |
![]()
Сообщение
#17
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
У нас есть свое описание сбоки: Link
Ну и общее: Link ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#18
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
заметь строку:
-I C:\mysql\include нужно писать без пробела: -IC:\mysql\include Цитата(acen83 @ 8.7.2008, 23:53) Link скомпилировал плагин, в папке plugins\sqldrivers появился файл qsqlmysql4.dll - вроде все как положено. а файл qsqlmysql4.lib или qsqlmysql4.a появился? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#19
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
----
еще мануальчик на тему мускула: Link |
|
|
evCo |
![]()
Сообщение
#20
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Что я только не делал чтоб поставить мускул. Поставил новый MinGW (5.1.4, до этого стоял 3.4.5). Пробовал собирать три разные версии Qt (4.3.2-4.3.4). 100 раз менял конфиги, но сборка всегда заканчиваеться так:
Цитата(Litkevich Yuriy @ 15.7.2008, 21:17) Link ---- еще мануальчик на тему мускула: Link Вот что вышло
Сообщение отредактировал evCo - 15.7.2008, 22:11 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#21
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
1) MinGW 5.1.4. это версия установщика, комилятор там 3.4.5. (как у меня)
2) Цитата mysql.h: No such file or directory Не указан путь к нему. Опиши полностью следующее: 1) путь к заголовочным файлам MySQL 2) путь к библиотекам MySQL 3) компилятор которым собраны библиотеки MySQL 4) путь к библиотекам Qt 5) компилятор которым собраны библиотеки Qt 6) как собираешь плагин |
|
|
evCo |
![]()
Сообщение
#22
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 15.7.2008, 22:09) Link 1) MinGW 5.1.4. это версия установщика, комилятор там 3.4.5. (как у меня) 2) Цитата mysql.h: No such file or directory Не указан путь к нему. Опиши полностью следующее: 1) путь к заголовочным файлам MySQL c:\mysql\include 2) путь к библиотекам MySQL c:\mysql\libs\opt (c:\mysql\libs\debug). 3) компилятор которым собраны библиотеки MySQL Хз, я их брал из инсталятора MySQL 4) путь к библиотекам Qt c:\qt\4.3.4\includes 5) компилятор которым собраны библиотеки Qt MinGW 6) как собираешь плагин 1. Вместе с Qt. Тогда пишет про "mysql.h: No such file or directory" 2. Путем сборки проекта "%Qt%\src\plugins\sqldrivers\mysql\mysql.pro". Выдает ": cannot find -lQtSqld4". При сборке проекта в про файл я добавил пути к библиотекам и заголовочным файлам. Скопировал файлы из c:\mysql\include в c:\qt\4.3.4\include и еще кудато раскопировал по папкам которые при сборки должны быть в списке папок с заголовочными файлами. Qt собрался. Но ошибки всеравно выскачили ![]()
это лиш часть, вообще еще 20-50 подобных строк ![]() Сообщение отредактировал evCo - 15.7.2008, 23:06 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#23
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
требуются уточнения:
3) в c:\mysql\libs\opt какое расширение у файлов в этом каталоге? 6) п.2) опиши полностью свои действия, делал в "Qt х.х.х Command Prompt"? Какие команды выполнял? |
|
|
evCo |
![]()
Сообщение
#24
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
уточнения:
3) в c:\mysql\libs\opt какое расширение у файлов в этом каталоге? LIBMYSQL.def libmysql.a libmysql.dll и еще несколько .lib файлов 6) п.2) опиши полностью свои действия, делал в "Qt х.х.х Command Prompt"? Какие команды выполнял? Link How to Build the Plug-in: шаги 1-5 + MinGW Tips для создания .а файла. Кстате после того как пересобрал Qt с заголовочными файлами мускула. При сборке плагина начало писать
Раньше писало
Сообщение отредактировал evCo - 15.7.2008, 23:57 |
|
|
Zen2004 |
![]()
Сообщение
#25
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 21.5.2008 Пользователь №: 180 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Парни уже волосы на голове рву опишите пошагово как вы ставите поддержку Мускл уже что только не пробовал !!!!!!!!!
|
|
|
evCo |
![]()
Сообщение
#26
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Zen2004 @ 16.7.2008, 11:48) Link Парни уже волосы на голове рву опишите пошагово как вы ставите поддержку Мускл уже что только не пробовал !!!!!!!!! Да по мануалам... ток ты наверно напиши, что у тебя пишет make, а то так тебе не помогут ![]() Попробуй почитать тему с начала. Сообщение отредактировал evCo - 16.7.2008, 12:30 |
|
|
Zen2004 |
![]()
Сообщение
#27
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 21.5.2008 Пользователь №: 180 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
делаю в командной строке
qmake -o Makefile "INCLUDEPATH+=c:\Program Files\MySQL\MySQL Server 5.1\include" "LIBS+=c:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libmysql.lib" mysql.pro Отвечает что не так ??? Cannon find file mysql.pro. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#28
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Zen2004 @ 16.7.2008, 16:47) Link c:\Program Files\MySQL\MySQL Server 5.1\include непрокатит, пробелы не допустимы, см. ссылку в посте №24 |
|
|
Zen2004 |
![]()
Сообщение
#29
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 21.5.2008 Пользователь №: 180 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Хорошо сделал вот так
Воспользовался утилитой reimp из mingw-utils получил файлы с расширением а и def переустановил Mysql так чтобы не было пробелов выполняб команду он мне опять 25 qmake -o Makefile "INCLUDEPATH+=c:\MySQL\include" "LIBS+=c:\MySQL\lib\opt\liblibmysql.a" mysql.pro файл не найден cannot find file mysql.pro. Сообщение отредактировал Zen2004 - 16.7.2008, 13:51 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#30
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
а в каком каталоге команду выполняешь?
|
|
|
Zen2004 |
![]()
Сообщение
#31
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 21.5.2008 Пользователь №: 180 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
c:\Qt\4.4.0\src\plugins\sqldrivers\mysql\
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#32
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
а сам файл проекта в нем есть?
|
|
|
Zen2004 |
![]()
Сообщение
#33
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 21.5.2008 Пользователь №: 180 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
там есть только файл main.cpp и реадми.тхт
текст маина
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#34
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
конфигурация значит коряво прошла, там должен лежать файл mysql.pro
а в каталоге c:\Qt\4.4.0\src\plugins\sqldrivers есть файлы: qsqldriverbase.pri README sqldrivers.pro ? |
|
|
Zen2004 |
![]()
Сообщение
#35
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 21.5.2008 Пользователь №: 180 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Да эти файлы имеются
|
|
|
evCo |
![]()
Сообщение
#36
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Удалось мне все собрать!!
![]() Собрал сначала Qt без Баз данных в совсем. Потом отдельно собрал mysql.pro. И ниодной ошибки ![]() Правда не могу теперь скомпилировать проект свой ![]()
Что это за библиотека и где ее взять? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#37
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
evCo, покажи свой файл проекта, может от PostgreSQL
Zen2004, могу свой файл mysql.pro дать, попробуй повторить qmake.
|
|
|
evCo |
![]()
Сообщение
#38
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 16.7.2008, 14:47) Link evCo, покажи свой файл проекта, может от PostgreSQL Нету там PostgreSQL, точно. Сеть использую. Все остальное из QCore и QGui.
Сообщение отредактировал evCo - 16.7.2008, 18:58 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#39
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
покажи файл проекта (*.pro), что там написано
|
|
|
evCo |
![]()
Сообщение
#40
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 16.7.2008, 19:19) Link покажи файл проекта (*.pro), что там написано
Бугага... ![]() Теперь другая проблема C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lQtSqld4 Сообщение отредактировал evCo - 16.7.2008, 20:16 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#41
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
видимо несобраны отладочные библиотеки Qt, собери релиз версию, просто для проверки твоего проекта
в файле проекта измени: CONFIG += debug build_all на CONFIG += release и командуй qmake make release |
|
|
evCo |
![]()
Сообщение
#42
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 16.7.2008, 20:51) Link видимо несобраны отладочные библиотеки Qt, собери релиз версию, просто для проверки твоего проекта make release Да, собирает Сообщение отредактировал evCo - 16.7.2008, 20:52 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#43
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
я свой пост обновил, если релиз версия программы собирается, то нужно собрать отладочную версию Qt
|
|
|
evCo |
![]()
Сообщение
#44
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 16.7.2008, 21:03) Link я свой пост обновил, если релиз версия программы собирается, то нужно собрать отладочную версию Qt Да я QDevelop пользуюсь, там проше с параметрами ![]()
А окошко не показывает. В работоспособности программы я на 100% уверен. Если отдельно запустить ехе`шник он запускаеться показывает окошко но пишет что не смог загрузить драйвер ![]() Сообщение отредактировал evCo - 16.7.2008, 21:09 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#45
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
проблемы лучше выяснять запуская из командной строки, QDevelop еще далек от совершенства.
добавь такую строчку в файл проекта: CONFIG += console затем qmake make release и запусти, появится окно программы и консольное окно, в консоли должены пойти сообщения, может они помогут Цитата(evCo @ 17.7.2008, 1:08) Link Кстате в каком виде он сушествует? dll`ка? если ты собирал как плагин, например после сборки Qt, то как dll'ка (%QTDIR%\plugins\sqldrivers\) можно еще в код, где создается соединение, добавить такую строчку:
|
|
|
evCo |
![]()
Сообщение
#46
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 16.7.2008, 21:22) Link и запусти, появится окно программы и консольное окно, в консоли должены пойти сообщения, может они помогут Вот что вывело QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC ![]() Как собрать отладочную версию Qt? Сообщение отредактировал evCo - 16.7.2008, 21:40 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#47
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(evCo @ 17.7.2008, 1:37) Link Как собрать отладочную версию Qt? создай отдельную тему с таким названием, а то мы эту тему захламим |
|
|
evCo |
![]()
Сообщение
#48
|
Студент ![]() Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Наконец-то я собрал полностью рабочий драйвер
![]() ![]() ![]() Сообщение отредактировал evCo - 16.7.2008, 23:03 |
|
|
Zen2004 |
![]()
Сообщение
#49
|
Студент ![]() Группа: Новичок Сообщений: 16 Регистрация: 21.5.2008 Пользователь №: 180 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
1. Скачал с офицального сайта qt-win-opensource-src-4.4.0
2. Распаковал в c:\qt\4.4.0\ 3. Скачал и установил MinGw C:\MinGW\bin 4. Создал переменные среды QTDIR=C:\Qt\4.4.0\bin Path=C:\MinGW\bin;C:\Qt\4.4.0\bin 5. запустил configure.exe без каких либо параметров он создал qmake 6. запустил mingw32-make 7. Все скомпилилось дизайнер примеры ассистент все работает. 8. reimp c:\mysql\lib\opt\libmysql.lib 9. переместил созданные файлы с раширением a и деб по адресу c:\mysql\lib\opt\ 10 выполнил команду qmake -o Makefile "INCLUDEPATH+=c:\mysql\include" "LIBS+=c:\mysql\lib\opt\liblibmysql.a" sql.pro mingw32-make никакой dll по етому адресу не создалось а только вот етот список README tmp FOLDER qsqlmysqld_resource.rc qsqlmysql_resource.rc mysql.pro Makefile.Release Makefile.Debug Makefile main.cpp при запуске моей программы вот ето Запуск... QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE --------------------- Нормальное завершение ---------------------- теперь скажите в каком шаге я что неправвельно сделал и как исправить |
|
|
AD |
![]()
Сообщение
#50
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Zen2004 @ 17.7.2008, 14:15) Link никакой dll по етому адресу не создалось а только вот етот список README tmp FOLDER qsqlmysqld_resource.rc qsqlmysql_resource.rc mysql.pro Makefile.Release Makefile.Debug Makefile main.cpp теперь скажите в каком шаге я что неправвельно сделал и как исправить Насколько я понял, тебе надо скомпилировать проект mysql.pro! |
|
|
Litkevich Yuriy |
![]()
Сообщение
#51
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Zen2004 @ 17.7.2008, 17:15) Link 10 выполнил команду qmake -o Makefile "INCLUDEPATH+=c:\mysql\include" "LIBS+=c:\mysql\lib\opt\liblibmysql.a" sql.pro ты откуда вообще ее взял, такую команду, Link написано как собрать плагин: Цитата ...
3. Перейдите в %QTDIR%/src/plugins/sqldrivers/mysql. выполните следующую команду: qmake -o Makefile "INCLUDEPATH+=С:\mysql\include" "LIBS+=С:\mysql\lib\opt\liblibmysql.a" mysql.pro (твои пути.) Запустите make - это должно собрать файлы qsqlmysql.dll и libqsqlmysql.a в каталоге %QTDIR%/plugins/sqldrivers. Скопируйте файл libmysql.dll из каталога установки бинарей MySQL в каталог указанный в переменной окружения %PATH% (т.е. %QTDIR%/bin). |
|
|
LNF |
![]()
Сообщение
#52
|
Студент ![]() Группа: Новичок Сообщений: 10 Регистрация: 2.9.2008 Пользователь №: 282 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте! Я начинающий Qt программист ). У меня есть Qt 4.1.2+mingw и MySQL 5.0. Хотелось бы написать хоть какой нибудь запрос. Не могли бы вы мне провести меня от самого начала(как вообще соединить Qt и MySQl) до первого запроса. Если эта тема уже затрагивалась на форуме, напишите сто она есть, я продолжу её и скать. Заранее спасибо.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#53
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
LNF, непосредственно с Мускулем примера может и не быть, но во-первых, чтобы убедится, что у тебя все корректно установлено воспользуйся демонстрашкой %QTDIR%\demos\sqlbrowser - этоготовая программа из которой ты можешь посылать запросы к конкретной БД через конкретный QtSQL драйвер. Во-вторых посмотри пример %QTDIR%\examples\sql\cachedtable он довольно простой хоть и использует драйвер SQLite, можно его заменить. В свое время я на его основе тренировался работать с ODBC.
P.S. в этой теме стоит обсуждат проблемы связанные непосредственно с MySQl, при возникновении общих вопросов ищи по этому форуму о БД и QSqlDatabase или создавай новые. |
|
|
junkyx |
![]()
Сообщение
#54
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 15.10.2008 Пользователь №: 392 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Делаю так:
cd %QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro make выдаёт: mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1 mingw32-make[1]: Leaving directory `C:/QT/4.4.0/src/plugins/sqldrivers/mysql' mingw32-make: *** [debug-all] Error 2 помогите пожайлуста!! я нуб! |
|
|
ViGOur |
![]()
Сообщение
#55
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Проверь папки C:\MySQL\include и C:\MySQL\lib\opt\ там где указал или нет?
что-то маловато данных для ошибки, приведи листинг поболее... Сообщение отредактировал ViGOur - 15.10.2008, 14:18 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#56
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
junkyx, эта тема уже поднималась и не раз, надо поиском пользоватся по форуму.
|
|
|
junkyx |
![]()
Сообщение
#57
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 15.10.2008 Пользователь №: 392 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ну да..
вот так на самом деле... я прсто скинул не то... C:\QT\4.4.0\src\plugins\sqldrivers\mysql>qmake -o Makefile "INCLUDEPATH+=C:\Prog ram Files\MySQL\include" "LIBS+=C:\Program Files\MySQL\MySQL Server 5.0\lib\opt\ libmysql.lib" mysql.pro но самих папок include и lib у меня нет.. а вот что выдаёт подробно: C:\QT\4.4.0\src\plugins\sqldrivers\mysql>make mingw32-make -f Makefile.Debug all mingw32-make[1]: Entering directory `C:/QT/4.4.0/src/plugins/sqldrivers/mysql' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -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 -I"..\..\..\..\include\QtCore" -I"..\..\..\..\i nclude\QtCore" -I"..\..\..\..\include\QtSql" -I"..\..\..\..\include\QtSql" -I".. \..\..\..\include" -I"c:\Program" -I"Files\MySQL\include" -I"c:\QT\4.4.0\include \ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\..\..\mkspecs\win32-g++" -o t mp\obj\debug_shared\main.o main.cpp In file included from main.cpp:46: ../../../sql/drivers/mysql/qsql_mysql.h:54:19: mysql.h: No such file or director y In file included from main.cpp:46: ../../../sql/drivers/mysql/qsql_mysql.h:109: error: expected `)' before '*' toke n mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1 mingw32-make[1]: Leaving directory `C:/QT/4.4.0/src/plugins/sqldrivers/mysql' mingw32-make: *** [debug-all] Error 2 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#58
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
junkyx, я присоеденил твою тему к основной, читай ее, возможно, с самого начала.
|
|
|
ViGOur |
![]()
Сообщение
#59
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(junkyx @ 15.10.2008, 15:24) Link но самих папок include и lib у меня нет.. Нужно установить, так как Qt ничего не знает о MySql без них... ![]() |
|
|
COKOJIOB |
![]()
Сообщение
#60
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 16.3.2009 Пользователь №: 616 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Помогите плз.
Все делал по инструкции когда вызываю make выводит такие ошибки: CODE C:\Qt\qt\src\plugins\sqldrivers\mysql>%make%
C:/Qt/mingw/bin/mingw32-make -f Makefile.Debug all mingw32-make[1]: Entering directory `C:/Qt/qt/src/plugins/sqldrivers/mysql' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -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 -I"..\..\..\..\include\QtCore" -I"..\..\..\..\i nclude\QtSql" -I"..\..\..\..\include" -I"..\..\..\..\include\ActiveQt" -I"tmp\mo c\debug_shared" -I"." -I"..\..\..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\ main.o main.cpp "g++" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1 mingw32-make[1]: Leaving directory `C:/Qt/qt/src/plugins/sqldrivers/mysql' C:\Qt\mingw\bin\mingw32-make: *** [debug-all] Error 2 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#61
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(COKOJIOB @ 7.5.2009, 16:40) Link "g++" не является внутренней или внешней компилятор должен быть виден, т.е. в переменной окружения PATH должен бвть задан путь к g++.exe (в твоём случе: C:/Qt/mingw/bin)
командой, исполняемой программой или пакетным файлом. |
|
|
COKOJIOB |
![]()
Сообщение
#62
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 16.3.2009 Пользователь №: 616 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
файл libmysql.dll не появился.
в чем может быть проблема? CODE C:/Qt/mingw/bin/mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `C:/Qt/qt/src/plugins/sqldrivers/mysql' mingw32-make[1]: Nothing to be done for `all'. mingw32-make[1]: Leaving directory `C:/Qt/qt/src/plugins/sqldrivers/mysql' C:/Qt/mingw/bin/mingw32-make -f Makefile.Release all mingw32-make[1]: Entering directory `C:/Qt/qt/src/plugins/sqldrivers/mysql' mingw32-make[1]: Nothing to be done for `all'. mingw32-make[1]: Leaving directory `C:/Qt/qt/src/plugins/sqldrivers/mysql' |
|
|
nZil |
![]()
Сообщение
#63
|
Студент ![]() Группа: Новичок Сообщений: 13 Регистрация: 20.7.2009 Пользователь №: 922 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
У меня файлик qsqlmysqld4.dll появился. Скопировал в E:\DevTools\qt\qt\plugins\sqldrivers.
Но Mysql драйвера qt не видит. Что делать? Что куда копировать? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#64
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(nZil @ 20.7.2009, 4:59) Link Но Mysql драйвера qt не видит. не мускуль его должен видеть, а Qt. запусти тестовый пример %QTDIR%/demos/sqlbrowser и посмотри видно там мускульный драйвер или нет.
|
|
|
nZil |
![]()
Сообщение
#65
|
Студент ![]() Группа: Новичок Сообщений: 13 Регистрация: 20.7.2009 Пользователь №: 922 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ой, ошибся.
неа, нету его там. Ошибся, целый день с этим драйвером возился.. А в примере нету мускуль драйвера |
|
|
berserk |
![]()
Сообщение
#66
|
![]() Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Решил не создавать новой темы а спросить тут.
Собрал я SQL драйвер, на той машине где я его собирал программа работает. На другой не работает, говорит драйвера нету. Как заставить программу которая работает с БД работать на другом компьютере? Может можно куда нибудь положить *qsql*.dll? |
|
|
ViGOur |
![]()
Сообщение
#67
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Глянь: Link
|
|
|
berserk |
![]()
Сообщение
#68
|
![]() Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(ViGOur @ 21.7.2009, 10:11) Link Глянь: Link Сделал всё как написано: создал директорию QtPlugins, туда положил папку sqldrivers, добавил код в main. А не работает. Вывел на консоль list_path и dir вроде всё верно... ![]() |
|
|
ViGOur |
![]()
Сообщение
#69
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
И ошибки никакой нет?
|
|
|
berserk |
![]()
Сообщение
#70
|
![]() Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(ViGOur @ 21.7.2009, 11:08) Link И ошибки никакой нет? ошибка есть, драйвер не загружен |
|
|
AD |
![]()
Сообщение
#71
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(berserk @ 21.7.2009, 11:08) Link ошибка есть, драйвер не загружен А у Вас dll и Ваше приложение одним компилятором собраны? |
|
|
berserk |
![]()
Сообщение
#72
|
![]() Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(AD @ 21.7.2009, 11:18) Link Цитата(berserk @ 21.7.2009, 11:08) Link ошибка есть, драйвер не загружен А у Вас dll и Ваше приложение одним компилятором собраны? да. На моём рабочем компьютере где стоит QT, где собирается программа, где был собран драйвер БД всё прекрасно работает. А вот на другом компьютере который о QT ничего не знает не подключаются плагины. Основные библиотеки скопированные в папку с программой работают прекрасно. |
|
|
BRE |
![]()
Сообщение
#73
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(berserk @ 21.7.2009, 11:23) Link да. На моём рабочем компьютере где стоит QT, где собирается программа, где был собран драйвер БД всё прекрасно работает. А вот на другом компьютере который о QT ничего не знает не подключаются плагины. Основные библиотеки скопированные в папку с программой работают прекрасно. В папке с программой создай папку sqldrivers и туда скопируй драйвер. Подробности в assistent: Link. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#74
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
berserk, попробуй почистить кэш плагинов в реестре, на второй машине, может ты там уже эксперементировал и неудачно, Qt повторно незагружает плагины если они были одинажды забракованы.
|
|
|
berserk |
![]()
Сообщение
#75
|
![]() Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Litkevich Yuriy @ 21.7.2009, 12:13) Link berserk, попробуй почистить кэш плагинов в реестре, на второй машине, может ты там уже эксперементировал и неудачно, Qt повторно незагружает плагины если они были одинажды забракованы. как это сделать? на второй машине QT никогда не было... в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так? |
|
|
BRE |
![]()
Сообщение
#76
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(berserk @ 21.7.2009, 14:16) Link в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так? А MySQL либы ты на target-машину перенес? |
|
|
berserk |
![]()
Сообщение
#77
|
![]() Студент ![]() Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(BRE @ 21.7.2009, 14:51) Link Цитата(berserk @ 21.7.2009, 14:16) Link в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так? А MySQL либы ты на target-машину перенес? ну я firebird использую... в общем криво косо - разобрался... Оказалось самый простой способ описал BRE, за что ему спасибо. Далее нужно было fbclient скопировать в директорию с программой. (ну мне это помогло) После этого практически везде заработало, кроме нескольких компов, где стоял firebird другой версии. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#78
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(berserk @ 21.7.2009, 17:57) Link Далее нужно было fbclient скопировать в директорию с программой. (ну мне это помогло) он просто должен быть в пути поиска (PATH) и обычно, для виндовоза, он по умолчанию копируется в system32
|
|
|
sidsukana |
![]()
Сообщение
#79
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Ребят, прочитал всю тему и гуглил, но так и не нашел решения.
В общем такая ситуация: Работал со студией, под нее собирал mysql все нормально было. Сейчас понадобилось работать с QtCreator и тут началось. В общем mingw есть, mysql есть собираю с таким конфигом configure -shared -release -qt-sql-mysql -I "C:\mysql\include" -L "C:\mysql\lib\opt" Присборке получаю такой лог Раскрывающийся текст Creating library file: c:\Qt\4.7.1mingw\lib\libQtSql4.a ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x473): undefined re ference to `mysql_thread_end@0' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x480): undefined re ference to `mysql_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x731): undefined re ference to `mysql_stmt_insert_id@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x769): undefined re ference to `mysql_insert_id@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x7c0): undefined re ference to `mysql_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x7df): undefined re ference to `mysql_stmt_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x886): undefined re ference to `mysql_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x8b3): undefined re ference to `mysql_stmt_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xa6b): undefined re ference to `mysql_num_fields@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xb6a): undefined re ference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xc0d): undefined re ference to `mysql_stmt_result_metadata@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xc97): undefined re ference to `mysql_character_set_name@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xf76): undefined re ference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xf92): undefined re ference to `mysql_next_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xfad): undefined re ference to `mysql_stmt_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xfcf): undefined re ference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x111f): undefined r eference to `mysql_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1364): undefined r eference to `mysql_stmt_error@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x136f): undefined r eference to `mysql_stmt_errno@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1509): undefined r eference to `mysql_stmt_data_seek@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x151a): undefined r eference to `mysql_stmt_fetch@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x15b4): undefined r eference to `mysql_data_seek@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x15c5): undefined r eference to `mysql_fetch_row@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x178b): undefined r eference to `mysql_errno@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17a0): undefined r eference to `mysql_field_seek@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17ab): undefined r eference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17e8): undefined r eference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17fd): undefined r eference to `mysql_field_seek@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x185e): undefined r eference to `mysql_error@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x186b): undefined r eference to `mysql_errno@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1a83): undefined r eference to `mysql_list_fields@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1ace): undefined r eference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1adb): undefined r eference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1ca5): undefined r eference to `mysql_next_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1d4a): undefined r eference to `mysql_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1d61): undefined r eference to `mysql_field_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1db0): undefined r eference to `mysql_affected_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1dde): undefined r eference to `mysql_fetch_field_direct@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1e6a): undefined r eference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x24ed): undefined r eference to `mysql_query@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x25ed): undefined r eference to `mysql_query@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x26ed): undefined r eference to `mysql_query@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2be0): undefined r eference to `mysql_init@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2d6a): undefined r eference to `mysql_real_connect@32' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2de9): undefined r eference to `mysql_set_character_set@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2e01): undefined r eference to `mysql_get_client_version@0' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2e12): undefined r eference to `mysql_thread_init@0' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2e81): undefined r eference to `mysql_get_server_version@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2eb3): undefined r eference to `mysql_options@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2f7d): undefined r eference to `mysql_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x30b5): undefined r eference to `mysql_select_db@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x31e0): undefined r eference to `mysql_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x359e): undefined r eference to `mysql_real_query@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x35bc): undefined r eference to `mysql_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x35de): undefined r eference to `mysql_field_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x361f): undefined r eference to `mysql_affected_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x364a): undefined r eference to `mysql_fetch_field_direct@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x378b): undefined r eference to `mysql_field_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x38cb): undefined r eference to `mysql_stmt_prepare@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x38e4): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x38f7): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x3a0a): undefined r eference to `mysql_stmt_init@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x3cc6): undefined r eference to `mysql_real_escape_string@16' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x3fc3): undefined r eference to `mysql_fetch_lengths@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4892): undefined r eference to `mysql_stmt_reset@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x49a5): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x49bf): undefined r eference to `mysql_stmt_execute@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a1d): undefined r eference to `mysql_stmt_affected_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a50): undefined r eference to `mysql_stmt_bind_result@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a81): undefined r eference to `mysql_stmt_attr_set@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a95): undefined r eference to `mysql_stmt_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4aca): undefined r eference to `mysql_stmt_bind_result@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4bde): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5198): undefined r eference to `mysql_stmt_bind_param@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5457): undefined r eference to `mysql_fetch_row@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5497): undefined r eference to `mysql_stmt_fetch@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x557d): undefined r eference to `mysql_get_server_version@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x574b): undefined r eference to `mysql_list_tables@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5771): undefined r eference to `mysql_data_seek@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x577c): undefined r eference to `mysql_fetch_row@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x57e8): undefined r eference to `mysql_free_result@4' collect2: ld returned 1 exit status mingw32-make[2]: *** [..\..\lib\QtSql4.dll] Error 1 mingw32-make[2]: Leaving directory `C:/Qt/4.7.1mingw/src/sql' mingw32-make[1]: *** [release] Error 2 mingw32-make[1]: Leaving directory `C:/Qt/4.7.1mingw/src/sql' mingw32-make: *** [sub-sql-make_default-ordered] Error 2 В C:\mysql\lib\opt присутствуют файлы libmysql.lib, libmysql.def, libmysql.a. Важно то, что мне надо собрать mysql встроенный в Qt, а не как плагин. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#80
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(sidsukana @ 6.2.2011, 1:02) Link configure -shared -release -qt-sql-mysql -I "C:\mysql\include" -L "C:\mysql\lib\opt" надобыло сразу библиотеку указать, а не только путь.configure -shared -release -qt-sql-mysql -I "C:\mysql\include" -l "C:\mysql\lib\opt\libmysql.lib" |
|
|
sidsukana |
![]()
Сообщение
#81
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Странно как-то, собрал статично с QtSql4 но программа при запуске требует libmysql.dll так и должно быть?
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#82
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(sidsukana @ 14.2.2011, 20:35) Link запуске требует libmysql.dll так и должно быть? да, это dll-ка самой СУБД MySQL.
|
|
|
sidsukana |
![]()
Сообщение
#83
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
я просто думал, при сборке статичного sql драйвера из .lib субд, он должен его встраивать в QtSql и потом зависеть только от него...
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#84
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
только драйвер Qt (qmysql.dll) будет внутри QSql4.dll
|
|
|
AlexeyDonald |
![]()
Сообщение
#85
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 22.2.2011 Пользователь №: 2428 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Народ проблема по сборке. Вкратце, собираю на windows, qt creator 2010.05, mysql dev установлен c:\mysql. Надо собрать проект в релизе. Делаю конфиг Qt вот такой
configure -static -release -qt-sql-mysql -I "C:\mysql\include" -l "C:\mysql\lib\opt\libmysql.lib" после этого запускаю mingw32-make Конфиг нормально делает, но на make пишет cannot find -lC:\MySQL\lib\opt\libmysql.lib файлы mysql проверял естественно, все на месте. Один раз собрал с пропуском ошибок. Но когда свой проект начал собирать, та же ошибка вылезла cannot find -lC:\MySQL\lib\opt\libmysql.lib. Подскажите как можно исправить, или в каком направлении идти. И если кто то делал что то подобное (статически собирал с mysql драйвером) распишите пожалуйста по шагам что делали. Спасибо! Народ проблема по сборке. Вкратце, собираю на windows, qt creator 2010.05, mysql dev установлен c:\mysql. Надо собрать проект в релизе. Делаю конфиг Qt вот такой configure -static -release -qt-sql-mysql -I "C:\mysql\include" -l "C:\mysql\lib\opt\libmysql.lib" после этого запускаю mingw32-make Конфиг нормально делает, но на make пишет cannot find -lC:\MySQL\lib\opt\libmysql.lib файлы mysql проверял естественно, все на месте. Один раз собрал с пропуском ошибок. Но когда свой проект начал собирать, та же ошибка вылезла cannot find -lC:\MySQL\lib\opt\libmysql.lib. Подскажите как можно исправить, или в каком направлении идти. И если кто то делал что то подобное (статически собирал с mysql драйвером) распишите пожалуйста по шагам что делали. Спасибо! |
|
|
Litkevich Yuriy |
![]()
Сообщение
#86
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(AlexeyDonald @ 26.4.2011, 2:52) Link cannot find -lC:\MySQL\lib\opt\libmysql.lib такой ругани быть не должно, должна быть такая:Цитата cannot find C:\MySQL\lib\opt\libmysql.lib , т.е. без -lнужно проверить make-файл соответствующий, что там реально записалось в LIBS |
|
|
AlexeyDonald |
![]()
Сообщение
#87
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 22.2.2011 Пользователь №: 2428 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Да, посмотрел make, там было -lC:\mysql\lib\opt\libmysql.lib, поменял на -LC:\mysql\lib\opt , Litkevich Yuriy спасибо!
потом пересобрал qt еще раз с нормальными параметрами, вот конфиг может кому поможет.
Для справки у меня был Qt 2010.05, Windows 7, MySQL 5.5.11-win32. Еще раз спасибо. |
|
|
demiurg |
![]()
Сообщение
#88
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 27.4.2011 Пользователь №: 2639 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте!!Помогите пожалуста собрать плагин под MySQL.
1)Поставил QtCreator версия Qt 4.5.7 каталог C:\Qt\2009.04\ 2)Поставил mysql-5.5.11-win32 каталог C:\MySQL\ (дальше файлы ) но папки opt в C:\MySQL\lib\ нет всё лежит в lib 3) Скачал reimp кинул его в каталог C:\Qt\2009.04\mingw\bin 4)Захожу в Qt Command prompt
5) создаю def
в C:\MySQL\lib\ появляется libmysql.def 6) формирую библиотеку появляются соответственно libmysql.a libmysql.dll7)перехожу в %QTDIR%\src\plugins\sqldrivers\mysql ![]()
9) компилирую получаю на выходе libqsqlmysqld4.a main.o moc_qsql_mysql.cpp moc_qsql_mysql.o qsql_mysql.moc qsql_mysql.o qsqlmysqld4.dll qsqlmysqld_resource_res.o 10)закидываю эти файлы в C:\Qt\2009.04\qt\plugins\sqldrivers 11)libmysql.dll кидаю в файл debug\release 12) нуль эффекта удалял HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.5.debug HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.5.false Но в HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.5.debug плагины не появляются ЭТО ГДЕ, в скомпилированных дровах или чтото недоделал? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#89
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(demiurg @ 1.5.2011, 1:58) Link 12) нуль эффекта а какой ожидаешь? Собственно сообщения я вообще не понял.П.С. reimp уже давно не нужен. |
|
|
demiurg |
![]()
Сообщение
#90
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 27.4.2011 Пользователь №: 2639 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Ну ожидаю чтобы появлся плагин в списке примера sqlbrowser , всё делаю как написал, а его не появляется - мож чтото ещё нужно. Кстати ещё libmysql.lib в %QTDIR%\bin добавил
Цитата(Litkevich Yuriy @ 1.5.2011, 0:05) Link reimp уже давно не нужен. Т.е. сразу libmysql.lib в LIBS вставлять ? Придётся пересобирать? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#91
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(demiurg @ 1.5.2011, 3:23) Link Кстати ещё libmysql.lib в %QTDIR%\bin добавил не надо туда ничего добавлять.Цитата(demiurg @ 1.5.2011, 3:23) Link мож чтото ещё нужно когда работает приложение, оно должно видеть идрайвер СУБД Qt и клиентскую библиотеку СУБД, если виндовоз, то по переменной окружения PATH (добавь в неё каталог C:\MySQL\bin)
|
|
|
demiurg |
![]()
Сообщение
#92
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 27.4.2011 Пользователь №: 2639 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Дык есть C:\MySQL\bin в PATH
|
|
|
demiurg |
![]()
Сообщение
#93
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 27.4.2011 Пользователь №: 2639 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
НАШЁЛ. Почемуто когда запускаю под Debug в Qtcreator плагины появляются к базе данных конектица. Когда ставлю на Release - нет их в списке. Это так должно быть?
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#94
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(demiurg @ 1.5.2011, 15:41) Link Это так должно быть? выходит собрал ты только отладочную версию.Цитата(demiurg @ 1.5.2011, 1:58) Link получаю на выходе ну да, так и есть.libqsqlmysqld4.a Зайти в каталог с make-файлом драйвера и скомандуй явно: make release Должны появится файлы без буковки d (например: libqsqlmysql4.a) П.С. make, тот что у тебя (mingw32-make, nmake, ...) |
|
|
demiurg |
![]()
Сообщение
#95
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 27.4.2011 Пользователь №: 2639 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
оо, спасибо за помощь , всё откомпилило и заработало в release тоже.
А еще такой вопрос задам чтоб тему новую не создавать Я собираюсь интегрировать обработку MySQL в TCP сервер. На него одновременно может подключиться несколько сот устройств что вызовет столько же запросов . Собственно вопрос: при создании нового сокетного соединения нужно создавать новое подключение к БД QSqlDatabase::addDatabase('номер подключения') ? Т.е. QSqlDatabase::addDatabase может создать много подключении с параметрами одного "логина" "пароля" ,я правильно это понимаю? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#96
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(demiurg @ 1.5.2011, 21:39) Link чтоб тему новую не создавать одна проблема - одна тема.
|
|
|
demiurg |
![]()
Сообщение
#97
|
Студент ![]() Группа: Новичок Сообщений: 11 Регистрация: 27.4.2011 Пользователь №: 2639 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Люди подскажите что делать для сборки плагина под mysql после того как скомпилил 4 файла в \src\plugins\sqldrivers\mysql\ и что прописать в path.
После попытки собрать статически и полного сноса qt - пытаюсь восстановить ,но неполучается - или плагин не находит или выдаёт странные ошибки в виде C:/Qt/qt/src/plugins/sqldrivers/mysql/main.cpp:65: undefined reference to `QMYSQLDriver::QMYSQLDriver(QObject*)' c:\Qt\qt\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp::-1: error: undefined reference to `qMain(int, char**)' -Скопировал libmysql.dll в qt\bin -пути к mysql\include mysql\bin mysql\lib прописал -полученые файлы в qt\plugins\sqldrivers добавил (в прошлый раз как то "методом тыка" получилось). |
|
|
Гость_Гость (MaZi)_* |
![]()
Сообщение
#98
|
Гости ![]() |
Появилась проблема. на одном компьютере, где стоит Qt, exe запускается норм, на другом компе, где нет Qt, скопированы основные библиотеки для Qt и libmysql.dll. Но почему то при запуске программы ругается "Driver not loaded Driver not loaded". кто что посоветует?
|
|
|
sidsukana |
![]()
Сообщение
#99
|
Участник ![]() ![]() Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: ![]() ![]() ![]() |
Может у тебя драйвер как плагин на первом компе есть, а на втором нет?
Посмотри наличие в /qtdir/plugins/sqldrivers |
|
|
Гость_MaZi_* |
![]()
Сообщение
#100
|
Гости ![]() |
>Может у тебя драйвер как плагин на первом компе есть, а на втором нет?
>Посмотри наличие в /qtdir/plugins/sqldrivers на втором компе вообще нет Qt. на первом /qtdir/plugins/sqldrivers присутствует, собственно на нём запускается нормально. Разве sqldrivers не подцепляются автоматом в exe'шник? |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 13.8.2025, 23:42 |