![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
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 |
|
|
![]() |
junkyx |
![]()
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 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 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 16.7.2025, 5:58 |