Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
9 февраля 2019 г. 18: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

3

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

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

0

Копировал во все папки.
В итоге поставил версию сервера 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, получаеться что где-то они нужны а где-то нет?

0

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

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

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

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
КА
19 февраля 2019 г. 18:32
Кристина Афанасьева

C++ - Тест 006. Перечисления

  • Результат:70баллов,
  • Очки рейтинга1
КА
19 февраля 2019 г. 18:26
Кристина Афанасьева

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:60баллов,
  • Очки рейтинга-1
КА
19 февраля 2019 г. 18:00
Кристина Афанасьева

C++ - Тест 002. Константы

  • Результат:50баллов,
  • Очки рейтинга-4
Последние комментарии
21 февраля 2019 г. 12:51
Евгений Легоцкой

Иногда CMake приходится перезапускать начисто, не обновляет кэш
R
21 февраля 2019 г. 12:29
RandyGallup

Я указал данные строки, т.к. без них у меня вылетала следующая ошибка: By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configurat...
21 февраля 2019 г. 12:08
BlinCT

Вот атк выглядит мой проектник, посмотрите его. cmake_minimum_required(VERSION 3.6)project(projecttimer)set(CMAKE_CXX_STANDARD 11)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)find_packa...
21 февраля 2019 г. 12:04
BlinCT

Смотрите, если вы используете глобально для проекта -DCMAKE_PREFIX_PATH= то вам не надо уже указывать вот эти строкиset(Qt5Core_DIR "C:/Qt/5.12.1/mingw73_64/lib/cmake/Qt5Core")set(Qt5Gui_DIR...
R
21 февраля 2019 г. 11:54
RandyGallup

Даже не запускается. main.cpp у меня точно такой же, как в статье. CMakeLists.txt пришлось немного подправить (прикрепил ниже), т.к. не находились некоторые файлы. cmake_minimum_requi...
Сейчас обсуждают на форуме
21 февраля 2019 г. 8:58
Евгений Легоцкой

Ну у меня координаты передавались в зависимости от положения курсора мыши, а в вам по сути нужно будет аналогичным способом посылать даннные из полей ввода. Так что здесь скорее интерфес...
20 февраля 2019 г. 21:55
Евгений Легоцкой

Не до конца понимаю сути вопроса, наверное, нужно увидеть программный код и попытку его применения, но к методам базового класса можно обращаться в наследованном классе через вызов по имени ба...
MU
20 февраля 2019 г. 15:06
Maciej Urmański

Yes, ok I have solution! Thank you for directing me about annotate.:) Solution is: users_in = User.objects.filter(joined_users__goal=goal, joined_users__joined=True)
20 февраля 2019 г. 14:40
Евгений Легоцкой

Думаю, что ещё можно переопределить mouseReleaseEvent(QMouseEvent* event) у QTableView, который содержит модель и немного поиграться с индексом. Если это индекс, который соответству...
20 февраля 2019 г. 10:34
Евгений Легоцкой

Да, так тоже можно. Единственный момент в том, что lupdate не всегда понимает, к какому контексту это дело относится, и может запихать в левый контекст. В небольшом проекте это не критич...
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы