Russian Qt Forum
Ноябрь 23, 2024, 20:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMYSQL driver not loaded release version  (Прочитано 4050 раз)
duku
Гость
« : Февраль 28, 2012, 12:40 »

всем доброго времени суток.
проблема, как видно из названия темы, в драйвере mysql. установлена последняя, на данный момент версия Qt SDK 1.2 (released on February 1st). драйвер для mysql собирался по нескольким вариантам инструкций (http://www.prog.org.ru/index.php?topic=8802.msg50556#msg50556 , http://christopher.rasch-olsen.no/2009/04/14/qt-45-and-mysql-plugin-with-mingw-on-windows-xp/ , и еще какие-то), но ни один не дал нужного результата.
проблема в общем-то вот в чем: после выполнения всех шагов драйвер не загружался все равно, но я просто вручную кинул получившиеся файлы qsqlmysqld4.dll и libqsqlmysqld4.a из F:\QtSDK\QtSources\4.8.0\src\plugins\sqldrivers\mysql\debug в директорию F:\QtSDK\Desktop\Qt\4.8.0\mingw\plugins\sqldrivers, и все вроде работало... но только тогда, когда я компилил прогу в отладочной версии. как только я откомпилил в релизной, то драйвер этот перестал загружаться. пробовал уже, как писали в соседних темах, кидать эти 2 файла в папку sqldrivers в папке с программой, а также libmySQL.dll кидать просто в папку с программой, пробовал и реестр чистить (HKEY_CURRENT_USER\Software\Trolltech), и манипуляции с копированием MinGW утилит в папку с установленным MinGW.

если запустить файл программы просто из папки дебажной версии, то она нормально использует драйвер, а если же запустить из релизной, то уже ругается driver not loaded driver not loaded.
я даже в самом Qt не могу запустить релизную версию, в Выводе пишет
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC
а вот дебажную могу.

привожу PATH на всякий случай
C:\MySQL\bin;F:\QtSDK\Desktop\Qt\4.8.0\mingw\bin;F:\QtSDK\QtSources\4.8.0\bin;C:\MySQL\lib\opt

прощу прощения, если получилось несколько сумбурно
« Последнее редактирование: Февраль 28, 2012, 13:13 от duku » Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #1 : Февраль 28, 2012, 18:18 »

Для релизной версии программы нужны релизные библиотеки для драйвера MySQL. А вы откомпилировали дебажные версии.

Откомпилируйте релизную версию плагина.
Записан
duku
Гость
« Ответ #2 : Февраль 28, 2012, 18:41 »

Для релизной версии программы нужны релизные библиотеки для драйвера MySQL. А вы откомпилировали дебажные версии.

Откомпилируйте релизную версию плагина.

похоже на истину, потому как я брал получившиеся 2 файла из папки debug, т.к. release была пуста

А вы не могли бы подсказать, как откомпилировать релизные версии?
я делал по инструкции http://www.prog.org.ru/index.php?PHPSESSID=a26483f6825188bb8dd5a996221e7175&topic=8802.0 , где указана команда для генерирования Make файла
qmake -o Makefile "INCLUDEPATH+=<каталог_инсталляции_mysql>\include" "LIBS+=-L<каталог_инсталляции_mysql>\lib\opt -lmysql" mysql.pro

в официальном же описании http://doc.qt.nokia.com/4.7-snapshot/sql-driver.html , указано
 qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro

Note: Including "-o Makefile" as an argument to qmake to tell it where to build the makefile can cause the plugin to be built in release mode only. If you are expecting a debug version to be built as well, don't use the "-o Makefile" option.

поэтому по идее должно все работать
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 22.