Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
QMYSQL mac os x yosemite
I had installed qt5 (qtcreator) and after that mysql (using homebrew). I got an issue: QMYSQL driver not loaded (only the QSQLITE driver is available). Someone can show me hot to fix it please??
Hi and welcome to devnet,
You probably have the client libraries version 18 or upper and the MySQL plugin linked to a different version. The quickest way is to use otool to change the path from the MySQL plugin to point to your homebrew installed MySQL. Otherwise, you can re-build the plugin following Qt's documentation
Hi thank you to reply,
I try that you meant like this:
install_name_tool -change libqsqlmysql.dylib Qt/5.3/clang_64/plugins/sqldrivers/libqsqlmysql_debug.dylib /usr/local/lib/libmysqlclient.dylib
The command didn't return any error, so it's seem like working....Ithought. But I got the same problem.
What's the output of
otool -L libqsqlmysql.dylib?
[edit: corrected typo]
otool -L libqsqlmysql.lib
*error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool: can't open file: libqsqlmysql.lib (No such file or directory)
Either run it in the same folder where the plugin can be found or give the full path to libqsqlmysql.dylib
Either run it in the same folder where the plugin can be found or give the full path
libqsqlmysql.dylib (compatibility version 0.0.0, current version 0.0.0)
/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/Users/ibrahimdie/Qt/5.3/clang_64/lib/QtSql.framework/Versions/5/QtSql (compatibility version 5.3.0, current version 5.3.1)
/Users/ibrahimdie/Qt/5.3/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.3.0, current version 5.3.1)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
That looks fine. What error does QSqlDatabase return ?
Actually I didn't have /opt/local/lib/mysql55 subdir, I created it, and I cp from /usr/local/lib/ the libmysqlclient.18.dyib on it (cf: line3). What line 2 means : C version 0.0.0, current version 0.0.0?
what error does QSqlDatabase return?
Here you are:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
Parameter 'DriverType' is invalid or RDB client library not available.
You should have updated /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib to match your homebrew path
Thank you very much. Everything works now.