crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

11 страниц V   1 2 3 > »   
Ответить в данную темуНачать новую тему
acen83
  опции профиля:
сообщение 8.7.2008, 19:53
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 11.2.2008
Пользователь №: 91

Спасибо сказали: 0 раз(а)




Репутация:   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?
:unsure:

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
  опции профиля:
сообщение 8.7.2008, 19:56
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 123
Регистрация: 1.3.2008
Пользователь №: 109

Спасибо сказали: 6 раз(а)




Репутация:   0  


Цитата(acen83 @ 8.7.2008, 19:53) Link
Попытался заюзать данные с MySql сервера - qt заругался что в нем нет драйвера MySQL.
Поставил MySql 5 на комп, запускаю configure qt - в списках доступных баз MySql нету :blink:

Как же это все работает? :unsure:

p.s. библиотеку мне еще надо собрать статическую, чтобы никаких дополнителных файлов к экзешнику не требовалось

мож при сборке Qt поддержку Sql драйвера надо было указать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
acen83
  опции профиля:
сообщение 8.7.2008, 19:58
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 11.2.2008
Пользователь №: 91

Спасибо сказали: 0 раз(а)




Репутация:   0  


deleted

Сообщение отредактировал acen83 - 10.7.2008, 18:50
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Admin
  опции профиля:
сообщение 8.7.2008, 20:00
Сообщение #4


Администратор
****

Группа: Администратор
Сообщений: 646
Регистрация: 9.10.2007
Из: crossplatform.ru
Пользователь №: 1

Спасибо сказали: 17 раз(а)




Репутация:   2  


Попробуй руками собрать плагин для MYSQL: Link

p.s. acen83, одного нажатия на кнопку отправить достаточно. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
acen83
  опции профиля:
сообщение 8.7.2008, 21:19
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 11.2.2008
Пользователь №: 91

Спасибо сказали: 0 раз(а)




Репутация:   0  


deleted

Сообщение отредактировал acen83 - 10.7.2008, 18:50
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.7.2008, 8:08
Сообщение #6


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(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
  опции профиля:
сообщение 9.7.2008, 18:17
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 11.2.2008
Пользователь №: 91

Спасибо сказали: 0 раз(а)




Репутация:   0  


deleted

Сообщение отредактировал acen83 - 10.7.2008, 18:51
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
acen83
  опции профиля:
сообщение 10.7.2008, 18:52
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 11.2.2008
Пользователь №: 91

Спасибо сказали: 0 раз(а)




Репутация:   0  


Заново сформулировал проблему (в 1 посте)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 11.7.2008, 8:51
Сообщение #9


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Угу, я работаю, поначалу шаманил как и ты, но после прочтения: Link и следования инструкциям у меня заработал плагин.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 11.7.2008, 11:27
Сообщение #10


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


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.7.2008, 18:57
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 23
Регистрация: 11.2.2008
Пользователь №: 91

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ЙаМайскЫйПчОЛ @ 11.7.2008, 12:27) Link
QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL"); ???

очепятался :D

Цитата(ЙаМайскЫйПчОЛ @ 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.7.2008, 9:30
Сообщение #12


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(acen83 @ 11.7.2008, 19:57) Link
Не понял что за клиентские библиотеки DBMS, так что убедится в их доступности не могу
Да нет, ключевым словом тут является Visual Studio dependency walker. Посмотри все ли библиотеки твой exe'шник подгружает или какие не видит.

Еще вот цитатат от туда:
Цитата
Если у вас возникли проблемы с загрузкой плагинов, и вы видите ошибку вроде этой:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QMYSQLпроблема вероятно в том, что плагин имеет неправильный ключ сборки. Для отладки удалите соответствующую запись в $HOME/.qt/qt_plugins_(qtversion).rc файле.

После чего снова попытайтесь загрузить этот плагин, и вы получите более детальное описание ошибки.
$HOME для винды равен %USERPROFILE% если мне не изменяет память.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 13.7.2008, 22:45
Сообщение #13


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Пользовался вот этой штукой как руководством.
Link

В дебаг режиме у меня почему-то не подключаються модули сети и sql, но для резлиза все работает. По-этому добавил в про файл CONFIG += release. Выполнил qmake, потом make. Написало:

C:\Qt\4.3.3\src\plugins\sqldrivers\mysql>make
mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory `C:/Qt/4.3.3/src/plugins/sqldrivers/mysql'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\4.3.3\plugins\sqldrivers\
libqsqlmysql4.a -o ..\..\..\..\plugins\sqldrivers\qsqlmysql4.dll tmp/obj/release
_shared/main.o tmp/obj/release_shared/qsql_mysql.o tmp/obj/release_shared/moc_qs
ql_mysql.o  -L"c:\Qt\4.3.3\lib" -L"c:\Qt\4.3.3\lib" tmp\obj\release_shared\qsqlm
ysql_resource_res.o C:\MySQL\lib\opt\libmysql.lib -lQtSql4 -lQtCore4
Creating library file: c:\Qt\4.3.3\plugins\sqldrivers\libqsqlmysql4.a
tmp/obj/release_shared/qsql_mysql.o(.text+0x4c):qsql_mysql.cpp: undefined refere
nce to `mysql_character_set_name@4'
tmp/obj/release_shared/qsql_mysql.o(.text+0x184):qsql_mysql.cpp: undefined refer
ence to `mysql_error@4'
tmp/obj/release_shared/qsql_mysql.o(.text+0x19a):qsql_mysql.cpp: undefined refer
ence to `mysql_errno@4'
tmp/obj/release_shared/qsql_mysql.o(.text+0x6d7):qsql_mysql.cpp: undefined refer
ence to `mysql_stmt_error@4'
tmp/obj/release_shared/qsql_mysql.o(.text+0x6eb):qsql_mysql.cpp: undefined refer
ence to `mysql_stmt_errno@4'
...
tmp/obj/release_shared/qsql_mysql.o(.text+0x7365):qsql_mysql.cpp: undefined refe
rence to `mysql_stmt_bind_param@8'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql4.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.3.3/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release-all] Error 2
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 13.7.2008, 22:56
Сообщение #14


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


По всей видимости у тебя не прописаны пути к mysql include файлам, проверь...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 14.7.2008, 18:14
Сообщение #15


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ViGOur @ 13.7.2008, 22:56) Link
По всей видимости у тебя не прописаны пути к mysql include файлам, проверь...

Да прописано все... Я даж в про файл закинул пути к include и к библиотеке libmysql.lib. Но проблема таже
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 14.7.2008, 19:45
Сообщение #16


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Попробовал пересобрать Qt с драфверавми под мускул.
Собирал по инструкции Link. Только по отключал драйвера под некоторые БД.
...
bug_shared\qsqlquery.o kernel\qsqlquery.cpp
g++ -c -include tmp\obj\debug_shared\qt_pch.h -g -Wall -frtti -fexceptions -mthr
eads -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_BUILD
_SQL_LIB -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_44_API
_QSQLQUERY_FINISH -DQT3_SUPPORT -DQT_MOC_COMPAT -D_USE_MATH_DEFINES -DQT_NO_CAST
_FROM_ASCII -DQT_DLL -DQT_CORE_LIB -I"..\..\include\QtCore" -I"..\..\include\QtC
ore" -I"..\..\include" -I"..\..\include\QtSql" -I"tmp" -I"c:\Qt\4.3.3\include\Ac
tiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\mkspecs\win32-g++" -o tmp\obj\de
bug_shared\qsqldatabase.o kernel\qsqldatabase.cpp
In file included from kernel\qsqldatabase.cpp:49:
kernel\/../drivers/mysql/qsql_mysql.h:47:19: mysql.h: No such file or directory
In file included from kernel\qsqldatabase.cpp:49:
kernel\/../drivers/mysql/qsql_mysql.h:98: error: expected `)' before '*' token
In file included from kernel\qsqldatabase.cpp:77:
kernel\/../drivers/ibase/qsql_ibase.h:43:19: ibase.h: No such file or directory
In file included from kernel\qsqldatabase.cpp:77:
kernel\/../drivers/ibase/qsql_ibase.h:79: error: expected `)' before "connection
"
mingw32-make[2]: *** [tmp/obj/debug_shared/qsqldatabase.o] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/4.3.3/src/sql'
mingw32-make[1]: *** [debug-all] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/4.3.3/src/sql'
mingw32-make: *** [sub-sql-make_default] Error 2


Сообщение отредактировал evCo - 14.7.2008, 19:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 15.7.2008, 8:25
Сообщение #17


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


У нас есть свое описание сбоки: Link
Ну и общее: Link
;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.7.2008, 17:53
Сообщение #18


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


заметь строку:
-I C:\mysql\include
нужно писать без пробела:
-IC:\mysql\include

Цитата(acen83 @ 8.7.2008, 23:53) Link
скомпилировал плагин, в папке plugins\sqldrivers появился файл qsqlmysql4.dll - вроде все как положено.

а файл qsqlmysql4.lib или qsqlmysql4.a появился?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.7.2008, 21:17
Сообщение #19


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


----
еще мануальчик на тему мускула:
Link
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 15.7.2008, 21:57
Сообщение #20


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Что я только не делал чтоб поставить мускул. Поставил новый MinGW (5.1.4, до этого стоял 3.4.5). Пробовал собирать три разные версии Qt (4.3.2-4.3.4). 100 раз менял конфиги, но сборка всегда заканчиваеться так:

...
In file included from kernel\qsqldatabase.cpp:56:
kernel\../drivers/mysql/qsql_mysql.h:54:19: mysql.h: No such file or directory
In file included from kernel\qsqldatabase.cpp:56:
kernel\../drivers/mysql/qsql_mysql.h:105: error: expected `)' before '*' token
mingw32-make[2]: *** [tmp/obj/debug_shared/qsqldatabase.o] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/4.3.4/src/sql'
mingw32-make[1]: *** [debug-all] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/4.3.4/src/sql'
mingw32-make: *** [sub-sql-make_default-ordered] Error 2

Цитата(Litkevich Yuriy @ 15.7.2008, 21:17) Link
----
еще мануальчик на тему мускула:
Link

Вот что вышло
...
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot fin
d -lQtSqld4
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.3.4/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error 2


Сообщение отредактировал evCo - 15.7.2008, 22:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.7.2008, 22:09
Сообщение #21


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


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
  опции профиля:
сообщение 15.7.2008, 22:57
Сообщение #22


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   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 собрался. Но ошибки всеравно выскачили :(

C:/Qt/4.3.4/src/sql/drivers/mysql/qsql_mysql.cpp:213: undefined reference to `my
sql_character_set_name@4'
./tmp\obj\debug_shared\qsql_mysql.o: In function `Z10qMakeErrorRK7QStringN9QSqlE
rror9ErrorTypeEPK19QMYSQLDriverPrivate':
C:/Qt/4.3.4/src/sql/drivers/mysql/qsql_mysql.cpp:224: undefined reference to `my
sql_error@4'
C:/Qt/4.3.4/src/sql/drivers/mysql/qsql_mysql.cpp:225: undefined reference to `my
sql_errno@4'
./tmp\obj\debug_shared\qsql_mysql.o: In function `Z14qMakeStmtErrorRK7QStringN9Q
SqlError9ErrorTypeEP13st_mysql_stmt':
...
C:/Qt/4.3.4/src/sql/drivers/mysql/qsql_mysql.cpp:796: undefined reference to `my
sql_stmt_param_count@4'
C:/Qt/4.3.4/src/sql/drivers/mysql/qsql_mysql.cpp:876: undefined reference to `my
sql_stmt_bind_param@8'
C:/Qt/4.3.4/src/sql/drivers/mysql/qsql_mysql.cpp:884: undefined reference to `my
sql_stmt_execute@4'
...


это лиш часть, вообще еще 20-50 подобных строк :)

Сообщение отредактировал evCo - 15.7.2008, 23:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.7.2008, 23:25
Сообщение #23


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


требуются уточнения:
3) в c:\mysql\libs\opt какое расширение у файлов в этом каталоге?
6) п.2) опиши полностью свои действия, делал в "Qt х.х.х Command Prompt"? Какие команды выполнял?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 15.7.2008, 23:53
Сообщение #24


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   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 с заголовочными файлами мускула. При сборке плагина начало писать

C:\Qt\4.3.4\src\plugins\sqldrivers\mysql>mingw32-make
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `C:/Qt/4.3.4/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:\MySQL\include" -I"LIBS+=C:\MySQL\lib\opt\liblibmysql.a"
-I"mysql.pro" -I"c:\Qt\4.3.4\include\ActiveQt" -I"tmp\moc\debug_shared" -I"." -
I"..\..\..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\main.o main.cpp
cc1plus.exe: mysql.pro: not a directory
mingw32-make[1]: *** [tmp/obj/debug_shared/main.o] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.3.4/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error 2


Раньше писало
...
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lQtSqld4
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.3.4/src/plugins/sqldrivers/mysql'
mingw32-make: *** [debug-all] Error 2


Сообщение отредактировал evCo - 15.7.2008, 23:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zen2004
  опции профиля:
сообщение 16.7.2008, 11:48
Сообщение #25


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 21.5.2008
Пользователь №: 180

Спасибо сказали: 0 раз(а)




Репутация:   0  


Парни уже волосы на голове рву опишите пошагово как вы ставите поддержку Мускл уже что только не пробовал !!!!!!!!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 12:26
Сообщение #26


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Zen2004 @ 16.7.2008, 11:48) Link
Парни уже волосы на голове рву опишите пошагово как вы ставите поддержку Мускл уже что только не пробовал !!!!!!!!!

Да по мануалам... ток ты наверно напиши, что у тебя пишет make, а то так тебе не помогут :)
Попробуй почитать тему с начала.

Сообщение отредактировал evCo - 16.7.2008, 12:30
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zen2004
  опции профиля:
сообщение 16.7.2008, 12:47
Сообщение #27


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 21.5.2008
Пользователь №: 180

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 16.7.2008, 13:08
Сообщение #28


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Zen2004 @ 16.7.2008, 16:47) Link
c:\Program Files\MySQL\MySQL Server 5.1\include

непрокатит, пробелы не допустимы, см. ссылку в посте №24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zen2004
  опции профиля:
сообщение 16.7.2008, 13:50
Сообщение #29


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 21.5.2008
Пользователь №: 180

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 16.7.2008, 13:56
Сообщение #30


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а в каком каталоге команду выполняешь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zen2004
  опции профиля:
сообщение 16.7.2008, 13:57
Сообщение #31


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 21.5.2008
Пользователь №: 180

Спасибо сказали: 0 раз(а)




Репутация:   0  


c:\Qt\4.4.0\src\plugins\sqldrivers\mysql\
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 14:02
Сообщение #32


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а сам файл проекта в нем есть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zen2004
  опции профиля:
сообщение 16.7.2008, 14:06
Сообщение #33


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 21.5.2008
Пользователь №: 180

Спасибо сказали: 0 раз(а)




Репутация:   0  


там есть только файл main.cpp и реадми.тхт

текст маина
/****************************************************************************
**
** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved.
**
** This file is part of the plugins of the Qt Toolkit.
**
** This file may be used under the terms of the GNU General Public
** License versions 2.0 or 3.0 as published by the Free Software
** Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3
** included in the packaging of this file.  Alternatively you may (at
** your option) use any later version of the GNU General Public
** License if such license has been publicly approved by Trolltech ASA
** (or its successors, if any) and the KDE Free Qt Foundation. In
** addition, as a special exception, Trolltech gives you certain
** additional rights. These rights are described in the Trolltech GPL
** Exception version 1.2, which can be found at
** http://www.trolltech.com/products/qt/gplexception/ and in the file
** GPL_EXCEPTION.txt in this package.
**
** Please review the following information to ensure GNU General
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/. If
** you are unsure which license is appropriate for your use, please
** review the following information:
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
** or contact the sales department at sales@trolltech.com.
**
** In addition, as a special exception, Trolltech, as the sole
** copyright holder for Qt Designer, grants users of the Qt/Eclipse
** Integration plug-in the right for the Qt/Eclipse Integration to
** link to functionality provided by Qt Designer and its related
** libraries.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not expressly
** granted herein.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
****************************************************************************/

#include <qsqldriverplugin.h>
#include <qstringlist.h>
#include "../../../sql/drivers/mysql/qsql_mysql.h"

QT_BEGIN_NAMESPACE

class QMYSQLDriverPlugin : public QSqlDriverPlugin
{
public:
    QMYSQLDriverPlugin();

    QSqlDriver* create(const QString &);
    QStringList keys() const;
};

QMYSQLDriverPlugin::QMYSQLDriverPlugin()
    : QSqlDriverPlugin()
{
}

QSqlDriver* QMYSQLDriverPlugin::create(const QString &name)
{
    if (name == QLatin1String("QMYSQL") || name == QLatin1String("QMYSQL3")) {
        QMYSQLDriver* driver = new QMYSQLDriver();
        return driver;
    }
    return 0;
}

QStringList QMYSQLDriverPlugin::keys() const
{
    QStringList l;
    l << QLatin1String("QMYSQL3");
    l << QLatin1String("QMYSQL");
    return l;
}

Q_EXPORT_STATIC_PLUGIN(QMYSQLDriverPlugin)
Q_EXPORT_PLUGIN2(qsqlmysql, QMYSQLDriverPlugin)

QT_END_NAMESPACE
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 14:12
Сообщение #34


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


конфигурация значит коряво прошла, там должен лежать файл mysql.pro

а в каталоге c:\Qt\4.4.0\src\plugins\sqldrivers есть файлы:
qsqldriverbase.pri
README
sqldrivers.pro
?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zen2004
  опции профиля:
сообщение 16.7.2008, 14:23
Сообщение #35


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 21.5.2008
Пользователь №: 180

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да эти файлы имеются
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 14:42
Сообщение #36


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Удалось мне все собрать!! :)

Собрал сначала Qt без Баз данных в совсем. Потом отдельно собрал mysql.pro. И ниодной ошибки :)
Правда не могу теперь скомпилировать проект свой :(

C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lpqdll.lib
collect2: ld returned 1 exit status

Что это за библиотека и где ее взять?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 14:47
Сообщение #37


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


evCo, покажи свой файл проекта, может от PostgreSQL

Zen2004, могу свой файл mysql.pro дать, попробуй повторить qmake.
TARGET     = qsqlmysql

HEADERS        = ../../../sql/drivers/mysql/qsql_mysql.h
SOURCES        = main.cpp \
          ../../../sql/drivers/mysql/qsql_mysql.cpp

unix: {
    isEmpty(QT_LFLAGS_MYSQL) {
        !contains(LIBS, .*mysqlclient.*):!contains(LIBS, .*mysqld.*) {
            use_libmysqlclient_r:LIBS *= -lmysqlclient_r
            else:LIBS *= -lmysqlclient
        }
    } else {
        LIBS *= $$QT_LFLAGS_MYSQL
        QMAKE_CXXFLAGS *= $$QT_CFLAGS_MYSQL
    }
}

win32:!contains(LIBS, .*mysql.*):!contains(LIBS, .*mysqld.*) {
    LIBS     *= -llibmysql    
}

include(../qsqldriverbase.pri)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 18:54
Сообщение #38


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.7.2008, 14:47) Link
evCo, покажи свой файл проекта, может от PostgreSQL

Нету там PostgreSQL, точно. Сеть использую. Все остальное из QCore и QGui.

#include<QSqlQuery>
#include<QSqlDatabase>
#include<QSqlError>
...
    db = new QSqlDatabase;
    db->addDatabase("QMYSQL"); 
    db->setHostName(host); 
    db->setDatabaseName(dbname); 
    db->setUserName(username); 
    db->setPassword(password);
    return db->open();


Сообщение отредактировал evCo - 16.7.2008, 18:58
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 19:19
Сообщение #39


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


покажи файл проекта (*.pro), что там написано
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 20:08
Сообщение #40


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.7.2008, 19:19) Link
покажи файл проекта (*.pro), что там написано

TEMPLATE = app
SOURCES += src/main.cpp \
src/dbclass.cpp \
src/checkfile.cpp \
src/agent_server.cpp \
src/mainwindowimpl.cpp
HEADERS += src/main.h \
src/dbclass.h \
src/checkfile.h \
src/agent_server.h \
src/mainwindowimpl.h
QT += network sql
FORMS += ui/mainform.ui
LIBS += libpqdll.lib
CONFIG += debug build_all

Бугага... :) Запостил и посмотрел

Теперь другая проблема
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -lQtSqld4

Сообщение отредактировал evCo - 16.7.2008, 20:16
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 20:51
Сообщение #41


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


видимо несобраны отладочные библиотеки Qt, собери релиз версию, просто для проверки твоего проекта
в файле проекта измени:
CONFIG += debug build_all
на
CONFIG += release

и командуй
qmake
make release
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 20:52
Сообщение #42


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.7.2008, 20:51) Link
видимо несобраны отладочные библиотеки Qt, собери релиз версию, просто для проверки твоего проекта
make release

Да, собирает

Сообщение отредактировал evCo - 16.7.2008, 20:52
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 21:03
Сообщение #43


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я свой пост обновил, если релиз версия программы собирается, то нужно собрать отладочную версию Qt
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 21:08
Сообщение #44


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.7.2008, 21:03) Link
я свой пост обновил, если релиз версия программы собирается, то нужно собрать отладочную версию Qt

Да я QDevelop пользуюсь, там проше с параметрами :) Релиз собираеться, но пишет
Запуск...
---------------------- Нормальне завершення ----------------------

А окошко не показывает. В работоспособности программы я на 100% уверен. Если отдельно запустить ехе`шник он запускаеться показывает окошко но пишет что не смог загрузить драйвер :( Кстате в каком виде он сушествует? dll`ка?

Сообщение отредактировал evCo - 16.7.2008, 21:09
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 21:22
Сообщение #45


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


проблемы лучше выяснять запуская из командной строки, QDevelop еще далек от совершенства.
добавь такую строчку в файл проекта:
CONFIG += console

затем
qmake
make release

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

Цитата(evCo @ 17.7.2008, 1:08) Link
Кстате в каком виде он сушествует? dll`ка?

если ты собирал как плагин, например после сборки Qt, то как dll'ка (%QTDIR%\plugins\sqldrivers\)

можно еще в код, где создается соединение, добавить такую строчку:
#include <QtDebug>
...
qDebug() << QSqlDatabase::drivers ()  << "\n\r";
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 21:37
Сообщение #46


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.7.2008, 21:22) Link
и запусти, появится окно программы и консольное окно, в консоли должены пойти сообщения, может они помогут

Вот что вывело QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC

:( выходит QMYSQL я так и не скомпилил

Как собрать отладочную версию Qt?

Сообщение отредактировал evCo - 16.7.2008, 21:40
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 21:42
Сообщение #47


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(evCo @ 17.7.2008, 1:37) Link
Как собрать отладочную версию Qt?

создай отдельную тему с таким названием, а то мы эту тему захламим
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
evCo
  опции профиля:
сообщение 16.7.2008, 23:03
Сообщение #48


Студент
*

Группа: Новичок
Сообщений: 19
Регистрация: 12.7.2008
Пользователь №: 233

Спасибо сказали: 0 раз(а)




Репутация:   0  


Наконец-то я собрал полностью рабочий драйвер :) Собрал Qt (4.3.3) без поддержки серверов баз данных вообще. Потом собрал Debug Build. Потом у меня наконец по нормальному собрался mysql.pro и теперь среди драйверов появился QMYSQL и QMYSQL3. + Наконец-то проекты нормально компилятся в дебаг моде :) Спасибо Litkevich Yuriy за помощь :)

Сообщение отредактировал evCo - 16.7.2008, 23:03
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Zen2004
  опции профиля:
сообщение 17.7.2008, 13:15
Сообщение #49


Студент
*

Группа: Новичок
Сообщений: 16
Регистрация: 21.5.2008
Пользователь №: 180

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 17.7.2008, 15:10
Сообщение #50


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(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
  опции профиля:
сообщение 17.7.2008, 15:32
Сообщение #51


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(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
  опции профиля:
сообщение 2.9.2008, 22:52
Сообщение #52


Студент
*

Группа: Новичок
Сообщений: 10
Регистрация: 2.9.2008
Пользователь №: 282

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте! Я начинающий Qt программист ). У меня есть Qt 4.1.2+mingw и MySQL 5.0. Хотелось бы написать хоть какой нибудь запрос. Не могли бы вы мне провести меня от самого начала(как вообще соединить Qt и MySQl) до первого запроса. Если эта тема уже затрагивалась на форуме, напишите сто она есть, я продолжу её и скать. Заранее спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.9.2008, 23:07
Сообщение #53


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


LNF, непосредственно с Мускулем примера может и не быть, но во-первых, чтобы убедится, что у тебя все корректно установлено воспользуйся демонстрашкой %QTDIR%\demos\sqlbrowser - этоготовая программа из которой ты можешь посылать запросы к конкретной БД через конкретный QtSQL драйвер. Во-вторых посмотри пример %QTDIR%\examples\sql\cachedtable он довольно простой хоть и использует драйвер SQLite, можно его заменить. В свое время я на его основе тренировался работать с ODBC.

P.S. в этой теме стоит обсуждат проблемы связанные непосредственно с MySQl, при возникновении общих вопросов ищи по этому форуму о БД и QSqlDatabase или создавай новые.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
junkyx
  опции профиля:
сообщение 15.10.2008, 14:07
Сообщение #54


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 15.10.2008
Пользователь №: 392

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 15.10.2008, 14:17
Сообщение #55


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Проверь папки C:\MySQL\include и C:\MySQL\lib\opt\ там где указал или нет?

что-то маловато данных для ошибки, приведи листинг поболее...

Сообщение отредактировал ViGOur - 15.10.2008, 14:18
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.10.2008, 14:23
Сообщение #56


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


junkyx, эта тема уже поднималась и не раз, надо поиском пользоватся по форуму.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
junkyx
  опции профиля:
сообщение 15.10.2008, 14:24
Сообщение #57


Новичок


Группа: Новичок
Сообщений: 2
Регистрация: 15.10.2008
Пользователь №: 392

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 15.10.2008, 14:28
Сообщение #58


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


junkyx, я присоеденил твою тему к основной, читай ее, возможно, с самого начала.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 15.10.2008, 14:57
Сообщение #59


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(junkyx @ 15.10.2008, 15:24) Link
но самих папок include и lib у меня нет..
Нужно установить, так как Qt ничего не знает о MySql без них... ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
COKOJIOB
  опции профиля:
сообщение 7.5.2009, 12:40
Сообщение #60


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 16.3.2009
Пользователь №: 616

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 7.5.2009, 13:39
Сообщение #61


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(COKOJIOB @ 7.5.2009, 16:40) Link
"g++" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
компилятор должен быть виден, т.е. в переменной окружения PATH должен бвть задан путь к g++.exe (в твоём случе: C:/Qt/mingw/bin)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
COKOJIOB
  опции профиля:
сообщение 22.6.2009, 10:09
Сообщение #62


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 16.3.2009
Пользователь №: 616

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 20.7.2009, 0:59
Сообщение #63


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 20.7.2009
Пользователь №: 922

Спасибо сказали: 0 раз(а)




Репутация:   0  


У меня файлик qsqlmysqld4.dll появился. Скопировал в E:\DevTools\qt\qt\plugins\sqldrivers.
Но Mysql драйвера qt не видит.
Что делать? Что куда копировать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.7.2009, 3:43
Сообщение #64


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(nZil @ 20.7.2009, 4:59) Link
Но Mysql драйвера qt не видит.
не мускуль его должен видеть, а Qt. запусти тестовый пример %QTDIR%/demos/sqlbrowser и посмотри видно там мускульный драйвер или нет.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
nZil
  опции профиля:
сообщение 20.7.2009, 11:34
Сообщение #65


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 20.7.2009
Пользователь №: 922

Спасибо сказали: 0 раз(а)




Репутация:   0  


ой, ошибся.
неа, нету его там.


Ошибся, целый день с этим драйвером возился..
А в примере нету мускуль драйвера
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
berserk
  опции профиля:
сообщение 21.7.2009, 8:25
Сообщение #66


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 9.2.2009
Пользователь №: 540

Спасибо сказали: 0 раз(а)




Репутация:   0  


Решил не создавать новой темы а спросить тут.
Собрал я SQL драйвер, на той машине где я его собирал программа работает. На другой не работает, говорит драйвера нету. Как заставить программу которая работает с БД работать на другом компьютере? Может можно куда нибудь положить *qsql*.dll?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 21.7.2009, 9:11
Сообщение #67


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Глянь: Link
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
berserk
  опции профиля:
сообщение 21.7.2009, 9:48
Сообщение #68


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 9.2.2009
Пользователь №: 540

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ViGOur @ 21.7.2009, 10:11) Link
Глянь: Link


Сделал всё как написано: создал директорию QtPlugins, туда положил папку sqldrivers, добавил код в main. А не работает.
Вывел на консоль list_path и dir вроде всё верно... :unsure:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 21.7.2009, 10:08
Сообщение #69


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


И ошибки никакой нет?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
berserk
  опции профиля:
сообщение 21.7.2009, 10:08
Сообщение #70


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 9.2.2009
Пользователь №: 540

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ViGOur @ 21.7.2009, 11:08) Link
И ошибки никакой нет?

ошибка есть, драйвер не загружен
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 21.7.2009, 10:18
Сообщение #71


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(berserk @ 21.7.2009, 11:08) Link
ошибка есть, драйвер не загружен

А у Вас dll и Ваше приложение одним компилятором собраны?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
berserk
  опции профиля:
сообщение 21.7.2009, 10:23
Сообщение #72


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 9.2.2009
Пользователь №: 540

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(AD @ 21.7.2009, 11:18) Link
Цитата(berserk @ 21.7.2009, 11:08) Link
ошибка есть, драйвер не загружен

А у Вас dll и Ваше приложение одним компилятором собраны?


да. На моём рабочем компьютере где стоит QT, где собирается программа, где был собран драйвер БД всё прекрасно работает. А вот на другом компьютере который о QT ничего не знает не подключаются плагины. Основные библиотеки скопированные в папку с программой работают прекрасно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 21.7.2009, 11:04
Сообщение #73


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(berserk @ 21.7.2009, 11:23) Link
да. На моём рабочем компьютере где стоит QT, где собирается программа, где был собран драйвер БД всё прекрасно работает. А вот на другом компьютере который о QT ничего не знает не подключаются плагины. Основные библиотеки скопированные в папку с программой работают прекрасно.

В папке с программой создай папку sqldrivers и туда скопируй драйвер.
Подробности в assistent: Link.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.7.2009, 11:13
Сообщение #74


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


berserk, попробуй почистить кэш плагинов в реестре, на второй машине, может ты там уже эксперементировал и неудачно, Qt повторно незагружает плагины если они были одинажды забракованы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
berserk
  опции профиля:
сообщение 21.7.2009, 13:16
Сообщение #75


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 9.2.2009
Пользователь №: 540

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 21.7.2009, 12:13) Link
berserk, попробуй почистить кэш плагинов в реестре, на второй машине, может ты там уже эксперементировал и неудачно, Qt повторно незагружает плагины если они были одинажды забракованы.

как это сделать? на второй машине QT никогда не было...

в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 21.7.2009, 13:51
Сообщение #76


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(berserk @ 21.7.2009, 14:16) Link
в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так?

А MySQL либы ты на target-машину перенес?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
berserk
  опции профиля:
сообщение 21.7.2009, 13:57
Сообщение #77


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 9.2.2009
Пользователь №: 540

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(BRE @ 21.7.2009, 14:51) Link
Цитата(berserk @ 21.7.2009, 14:16) Link
в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так?

А MySQL либы ты на target-машину перенес?

ну я firebird использую...
в общем криво косо - разобрался...
Оказалось самый простой способ описал BRE, за что ему спасибо.
Далее нужно было fbclient скопировать в директорию с программой. (ну мне это помогло)
После этого практически везде заработало, кроме нескольких компов, где стоял firebird другой версии.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.7.2009, 15:31
Сообщение #78


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(berserk @ 21.7.2009, 17:57) Link
Далее нужно было fbclient скопировать в директорию с программой. (ну мне это помогло)
он просто должен быть в пути поиска (PATH) и обычно, для виндовоза, он по умолчанию копируется в system32
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sidsukana
  опции профиля:
сообщение 5.2.2011, 23:02
Сообщение #79


Участник
**

Группа: Участник
Сообщений: 158
Регистрация: 23.12.2010
Из: Челябинск
Пользователь №: 2296

Спасибо сказали: 10 раз(а)




Репутация:   2  


Ребят, прочитал всю тему и гуглил, но так и не нашел решения.
В общем такая ситуация:
Работал со студией, под нее собирал 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
  опции профиля:
сообщение 6.2.2011, 7:53
Сообщение #80


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(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
  опции профиля:
сообщение 14.2.2011, 18:35
Сообщение #81


Участник
**

Группа: Участник
Сообщений: 158
Регистрация: 23.12.2010
Из: Челябинск
Пользователь №: 2296

Спасибо сказали: 10 раз(а)




Репутация:   2  


Странно как-то, собрал статично с QtSql4 но программа при запуске требует libmysql.dll так и должно быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 14.2.2011, 19:43
Сообщение #82


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(sidsukana @ 14.2.2011, 20:35) Link
запуске требует libmysql.dll так и должно быть?
да, это dll-ка самой СУБД MySQL.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sidsukana
  опции профиля:
сообщение 14.2.2011, 20:22
Сообщение #83


Участник
**

Группа: Участник
Сообщений: 158
Регистрация: 23.12.2010
Из: Челябинск
Пользователь №: 2296

Спасибо сказали: 10 раз(а)




Репутация:   2  


я просто думал, при сборке статичного sql драйвера из .lib субд, он должен его встраивать в QtSql и потом зависеть только от него...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.2.2011, 7:40
Сообщение #84


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


только драйвер Qt (qmysql.dll) будет внутри QSql4.dll
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AlexeyDonald
  опции профиля:
сообщение 25.4.2011, 23:52
Сообщение #85


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 22.2.2011
Пользователь №: 2428

Спасибо сказали: 0 раз(а)




Репутация:   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
  опции профиля:
сообщение 26.4.2011, 6:02
Сообщение #86


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(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
  опции профиля:
сообщение 27.4.2011, 13:29
Сообщение #87


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 22.2.2011
Пользователь №: 2428

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да, посмотрел make, там было -lC:\mysql\lib\opt\libmysql.lib, поменял на -LC:\mysql\lib\opt , Litkevich Yuriy спасибо!
потом пересобрал qt еще раз с нормальными параметрами, вот конфиг может кому поможет.
configure -static -debug-and-release -release -nomake demos -nomake examples -qt-sql-mysql -I C:\mysql\include -L C:\mysql\lib\opt

Для справки у меня был Qt 2010.05, Windows 7, MySQL 5.5.11-win32.
Еще раз спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demiurg
  опции профиля:
сообщение 30.4.2011, 22:58
Сообщение #88


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 27.4.2011
Пользователь №: 2639

Спасибо сказали: 0 раз(а)




Репутация:   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
Setting up a MinGW/Qt only environment...
-- QTDIR set to C:\Qt\2009.04\qt
-- PATH set to C:\Qt\2009.04\qt\bin
-- Adding C:\Qt\2009.04\bin to PATH
-- Adding C:\WINDOWS\System32 to PATH
-- QMAKESPEC set to win32-g++

5) создаю def
C:\Qt\2009.04\qt>cd C:\MySQL\lib

C:\MySQL\lib>reimp -d libmysql.lib

C:\MySQL\lib>


в C:\MySQL\lib\ появляется libmysql.def

6) формирую библиотеку
C:\MySQL\lib>dlltool -d libmysql.def -l libmysql.a libmysql.dll -k
появляются соответственно libmysql.a libmysql.dll
7)перехожу в %QTDIR%\src\plugins\sqldrivers\mysql

8)собираю
C:\Qt\2009.04\qt\src\plugins\sqldrivers\mysql>qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\libmysql.a" mysql.pro

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
  опции профиля:
сообщение 1.5.2011, 0:05
Сообщение #89


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(demiurg @ 1.5.2011, 1:58) Link
12) нуль эффекта
а какой ожидаешь? Собственно сообщения я вообще не понял.


П.С.
reimp уже давно не нужен.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demiurg
  опции профиля:
сообщение 1.5.2011, 0:23
Сообщение #90


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 27.4.2011
Пользователь №: 2639

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ну ожидаю чтобы появлся плагин в списке примера sqlbrowser , всё делаю как написал, а его не появляется - мож чтото ещё нужно. Кстати ещё libmysql.lib в %QTDIR%\bin добавил

Цитата(Litkevich Yuriy @ 1.5.2011, 0:05) Link
reimp уже давно не нужен.



Т.е. сразу libmysql.lib в LIBS вставлять ? Придётся пересобирать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.5.2011, 0:30
Сообщение #91


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(demiurg @ 1.5.2011, 3:23) Link
Кстати ещё libmysql.lib в %QTDIR%\bin добавил
не надо туда ничего добавлять.

Цитата(demiurg @ 1.5.2011, 3:23) Link
мож чтото ещё нужно
когда работает приложение, оно должно видеть идрайвер СУБД Qt и клиентскую библиотеку СУБД, если виндовоз, то по переменной окружения PATH (добавь в неё каталог C:\MySQL\bin)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demiurg
  опции профиля:
сообщение 1.5.2011, 0:51
Сообщение #92


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 27.4.2011
Пользователь №: 2639

Спасибо сказали: 0 раз(а)




Репутация:   0  


Дык есть C:\MySQL\bin в PATH
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demiurg
  опции профиля:
сообщение 1.5.2011, 12:41
Сообщение #93


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 27.4.2011
Пользователь №: 2639

Спасибо сказали: 0 раз(а)




Репутация:   0  


НАШЁЛ. Почемуто когда запускаю под Debug в Qtcreator плагины появляются к базе данных конектица. Когда ставлю на Release - нет их в списке. Это так должно быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.5.2011, 13:51
Сообщение #94


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(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
  опции профиля:
сообщение 1.5.2011, 18:39
Сообщение #95


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 27.4.2011
Пользователь №: 2639

Спасибо сказали: 0 раз(а)




Репутация:   0  


оо, спасибо за помощь , всё откомпилило и заработало в release тоже.

А еще такой вопрос задам чтоб тему новую не создавать

Я собираюсь интегрировать обработку MySQL в TCP сервер. На него одновременно может подключиться несколько сот устройств что вызовет столько же запросов . Собственно вопрос: при создании нового сокетного соединения нужно создавать новое подключение к БД QSqlDatabase::addDatabase('номер подключения') ? Т.е. QSqlDatabase::addDatabase может создать много подключении с параметрами одного "логина" "пароля" ,я правильно это понимаю?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.5.2011, 20:35
Сообщение #96


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(demiurg @ 1.5.2011, 21:39) Link
чтоб тему новую не создавать
одна проблема - одна тема.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
demiurg
  опции профиля:
сообщение 19.9.2011, 1:03
Сообщение #97


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 27.4.2011
Пользователь №: 2639

Спасибо сказали: 0 раз(а)




Репутация:   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)_*
сообщение 14.11.2011, 0:01
Сообщение #98





Гости








    


Появилась проблема. на одном компьютере, где стоит Qt, exe запускается норм, на другом компе, где нет Qt, скопированы основные библиотеки для Qt и libmysql.dll. Но почему то при запуске программы ругается "Driver not loaded Driver not loaded". кто что посоветует?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sidsukana
  опции профиля:
сообщение 14.11.2011, 6:58
Сообщение #99


Участник
**

Группа: Участник
Сообщений: 158
Регистрация: 23.12.2010
Из: Челябинск
Пользователь №: 2296

Спасибо сказали: 10 раз(а)




Репутация:   2  


Может у тебя драйвер как плагин на первом компе есть, а на втором нет?
Посмотри наличие в /qtdir/plugins/sqldrivers
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_MaZi_*
сообщение 14.11.2011, 8:07
Сообщение #100





Гости








    


>Может у тебя драйвер как плагин на первом компе есть, а на втором нет?
>Посмотри наличие в /qtdir/plugins/sqldrivers
на втором компе вообще нет Qt. на первом /qtdir/plugins/sqldrivers присутствует, собственно на нём запускается нормально. Разве sqldrivers не подцепляются автоматом в exe'шник?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

11 страниц V   1 2 3 > » 
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.8.2025, 23:42