PDA

View Full Version : Problem with MySQL drive on mac



Eduardo Huerta
16th February 2019, 01:05
Hi,
I am working on MySQL database on mac, run program generates the following error.

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

I have MySQL installed on my computer (macOS high Sierra) that has the following driver libmysqlclient.20.dylib. The MySQL path is the following:

/usr/local/mysql-8.0.15-macos10.14-x86_64/lib

I have executed the following code:

cd /Users/eduardo/Qt/5.11.1/clang_64/plugins/sqldrivers
otool -L libqsqlmysql.dylib

out:
libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/QtSql.framework/Versions/5/QtSql (compatibility version 5.11.0, current version 5.11.1)
@rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.11.0, current version 5.11.1)
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/usr/local/mysql/lib/libmysqlclient.20.dylib (compatibility version 20.0.0, current version 20.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.50.2)

Does anyone know how I can connect to my database?
I have researched in the net and I have found that it is used, install_name_tool –change ,although I am not sure what it is for. I have tried this but obviously something is wrong.
install_name_tool – change /usr/local/mysql/lib/libmysqlclient.20.dylib /usr/local/mysql-8.0.15-macos10.14-x86_64/lib/libmysqlclient.20.dylib /Users/eduardo/Qt/5.11.1/clang_64/plugins/sqldrivers/libqsqlmysql.dylib

Thanks for help.

shokarta
1st April 2019, 05:52
I dont know how much this will help, but I spent all day on same issue on Windows...
after so many topis on the google that if you are using QT 32bit, you need to install 32bit connector I proved to be wrong.

It depends on your compiler.
I was using MSVC/MINGW 64bit with mysql 32bit connector and had EXACTLY same issue.
after all day installing different versions of 332bit mysql connector (because I thought I have to have 32bit connector as I am using 32bit Qt Creator) i switched to 32b compilers and suddently it started to works like charm...

Later I did the same with SSL, however there I proven I have to use 64bit SSL as my OS is :)