Юрий9 февраля 2019 г. 13:03

Сборка драйвера MySQL

mysql

Система Windows 10 Версия 1803 Сборка 17134.556

MySQL 8.0.14 - 64

mingw73_64

Qt 5.12.1

Делаю так:


1. В файле f:\Qt\5.12.1\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
закоментировал строку #QMAKE_USE += mysql

2. В файле f:\Qt\5.12.1\Src\qtbase\src\plugins\sqldrivers\qsqldriverbase.pri
исправил строчку на include($$shadowed($$PWD)/configure.pri)

3. Запустил qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\libmysql.lib" mysql.pro

4. Запустил mingw32-make

5. В папке f:\AppStore\Qt\5.12.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers\
создались 4 файлика .dll и .a

6. Запустил mingw32-make install

Так же пробывал копировать во все папки, но приложение так и пишет

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabasePrivate::init>> QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
4

Я могу ошибаться, но возможно этот драйер нужно кинуть в каталог Windows, тогда сможет найти. Я с каким-то драйвером с таким сталкивался. Просто пути не может найти к библиотекам.

Более красивого и правильного решения не находил/не делал

Копировал во все папки.

В итоге поставил версию сервера MySQL 5.7.25 - 64 и скопровал из папки MySQL/lib/libmysql.dll в папку сборки проекта, Все заработало.

Удалил qsqlmysql.dll, qsqlmysqld.dll из всех мест куда скопировал поставил обратно версию MySQL ссрвера 8.0.14 - 64, пересобрал проект, все работает.

Скопировал новый файл MySQL 8.0.14 из папки MySQL/lib/libmysql.dll в папку проекта, пересобрал, не работает.

Вернул назад файлик старой версии, оставил как есть.
Не понятно, для чего собирали сами файлики qsqlmysql.dll, qsqlmysqld.dll, получаеться что где-то они нужны а где-то нет?

dll нужны для сборки проекта.

Не берусь судить о конкретной ситуации, вообще не люблю линковку библиотек делать.

Может быть Qt нормально собирается и работает только со старыми библиотеками MySQL, странно очень на самом деле. Хотя если вспомнить, что OpenSSL используется вверсии 1.0.2, то так и не удивительно становится...

R

випадково натрапив на тему, може комусь буде актуально потрбідно додати в environment user path
і навсяк випадок перезавантажити комп (єдиний нюанс в тому що там або в системному path може бути шлях до вашого старого сервера, якщо ви його інсталювали, а не як я просто використовував архів)
G:\my\mysql-8.0.17-winx64\bin
G:\my\mysql-8.0.17-winx64\lib

білдав драйвер під msvc2017_64 через креатор, просто додавши в Build Steps -> Additional arguments: -- MYSQL_INCDIR=G:/my/mysql-8.0.17-winx64/include "MYSQL_LIBDIR=G:/my/mysql-8.0.17-winx64/lib"

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Как стать автором?

Внесите вклад в развитие сообщества EVILEG.

Узнайте, как стать автором сайта.

Изучить
Donate

Добрый день, Дорогие Пользователи !!!

Я Евгений Легоцкой, разработчик EVILEG. И это мой хобби-проект, который помогает учиться программированию другим программистам и разработчикам

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

PayPalYandex.Money
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг
С

Qt - Тест 001. Сигналы и слоты

  • Результат:68баллов,
  • Очки рейтинга-1
С

C++ - Тест 001. Первая программа и типы данных

  • Результат:80баллов,
  • Очки рейтинга4
С

C++ - Тест 003. Условия и циклы

  • Результат:78баллов,
  • Очки рейтинга2
Последние комментарии
V

Django - Урок 027. Добавление Google reCAPTCHA

Спасибо. Только использую декоратор не в urls.py а перед views
R

Qt WinAPI - Урок 001. Как собрать все DLL, используемые в Qt-проекте?

Вы меня не совсем правильно поняли, но все равно спасибо, принял все к сведению. Все сделал как вы сказали, все отлично работает, еще раз огромнейшее спасибо) Разве что только что были опять про…

Qt WinAPI - Урок 001. Как собрать все DLL, используемые в Qt-проекте?

Стоило перед использованием что ли инструкцию прочитать https://www.cyberforum.ru/blogs/131347/blog2457.html "После сборки при запуске требовались dll," Ясное дело стоило задепло…
R
R

Qt WinAPI - Урок 001. Как собрать все DLL, используемые в Qt-проекте?

Да, собралось. После сборки при запуске требовались dll, перекинул всю папки bin, plugins(не знаю как можно было сделать более умно). Как я понял в первой строке путь к екзешнику вставляю, втор…
Сейчас обсуждают на форуме

Как в Qt в qmenu добавить scrollarea

Вот это наследованный класс меню. Но посути это обычное меню. #pragma once#include <QtWidgets>class TransMenu : public QMenu { Q_OBJECTpublic: TransMenu(QWidget* parent = …
o

Нужен человек кто хорошо понимает паттерны и их использование

Добрый день. Если вопрос про паттерны, то рисуй диаграмму классов.

Сборка Qt / C++ проекта под windows и linux

Отбой. Забыл в исходнике обернуть каждый #include макросом. #ifdef Q_OS_WIN32#include "win_controller.h"#else#include "linux_controller.h"#endif
C

Счечик производительности сети

Здравствуйте! Я решил проблему используя QtNetworkMonitor пример с GitHub . Вопрос закрыт.

Вопрос по указателям в с++

Как то это все усложняет. Еще вероятно работает так: void v(xxx *x3){ x2=x3;}
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB