我刚刚在Mac上重新安装了优胜美地.
安装了Xcode,Qt5.4和mysql CE
我无法使我的应用正常运行,我总是
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
我检查了dylib:
otool -L /Users/myself/Qt/5.4/clang_64/plugins/sqldrivers/libqsqlmysql.dylib
这使我返回:
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/myself/Qt/5.3/clang_64/lib/QtSql.framework/Versions/5/QtSql (compatibility version 5.3.0, current version 5.3.2)
/Users/myself/Qt/5.3/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.3.0, current version 5.3.2)
/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)
我没有/opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib文件,实际上我在Yosemite mac上没有/ opt文件夹.
可以吗?
我尝试自己重新创建/ opt / local / lib / mysql55 / mysql /文件夹,并在其中添加了libmysqlclient.18.dylib,但是仍然遇到相同的问题.
我现在对如何解决这个问题一无所知,我做错了吗?这是优胜美地vs MySQL错误吗?
我认为我的.pro文件和源都可以,因为它以前可以在我以前的Mavericks配置下工作.
解决方法:
我知道这是一个老问题,但是我想我会分享我找到的解决方案(对于那些问题,这些问题不能通过全新安装解决).
在您的机器上搜索libmysqlclient.18.dylib,并找到该文件的实际副本(我的文件在/usr/local/Cellar/mysql56/5.6.32/lib/中).然后使用带有-change标志的install_name_tool命令将libqmysql.dylib指向它.下面的命令使用示例:
install_name_tool -change /incorrect/path/to/libmysqlclient.18.dylib /correct/path/to/libmysqlclient.18.dylib /path/to/libqsqlmysql.dylib
确保对调试版本libqsqlmysql_debug.dylib运行相同的命令,以便您的调试版本也指向正确的库.