QT / C QSqlDatabase:未在OS X上加载QMYSQL驱动程序
我正在使用
OS X:10.12.4 Qt Creator 4.0.2 MySQL 5.0.12(看起来那样,不确定) C 在QT下我试图通过以下代码连接到mysql数据库: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("sql104.rf.gd"); // 185.27.134.10 //db.setPort(3306); db.setUserName("correctname"); db.setPassword("correctpw"); db.setDatabaseName("rfgd_19926673_shop"); if (db.open()){ ui->label->setText("success"); } else { i->label->setText("fail"); } 它失败了 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 我试过没有结果 QPluginLoader loader; loader.setFileName("/Users/Ivan/Qt/5.7/clang_64/plugins/sqldrivers/libqsqlmysql.dylib"); 它回来了 Cannot load library /Users/Ivan/Qt/5.7/clang_64/plugins/sqldrivers/libqsqlmysql.dylib: (dlopen(/Users/Ivan/Qt/5.7/clang_64/plugins/sqldrivers/libqsqlmysql.dylib,5): Library not loaded: /opt/local/lib/mysql55/mysql/libmysqlclient.18.dylib Referenced from: /Users/Ivan/Qt/5.7/clang_64/plugins/sqldrivers/libqsqlmysql.dylib Reason: image not found) /Users/Ivan/build-CourierHelperDesktop-Desktop_Qt_5_7_0_clang_64bit-Release/CourierHelperDesktop.app/Contents/MacOS 我只有 /usr/local/mysql-5.7.17-macos10.12-x86_64/lib/lib/mysqlclient.20.dylib 试过 mkdir /opt/local/lib/mysql55/mysql/ cp /usr/local/mysql-5.7.17-macos10.12-x86_64/lib/lib/mysqlclient.20.dylib /opt/local/lib/mysql55/mysql 没有帮助. 请有人帮助我.我真的被卡住了. 解决方法
我在macOS High Sierra(10.13.4)上遇到了这个问题:
> mysql-5.6.40-macos10.13-x86_64.dmg 你很幸运,我最初没有得到这个消息.我必须通过在Project Properties>上将名为QT_DEBUG_PLUGINS的新环境变量设置为1来启用更多调试信息.跑.再次执行我的应用程序显示与您的错误消息几乎相同. 要解决这个问题,首先需要找到libmysqlclient.18.dylib在计算机中的位置: $find / -iname libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib 好的,现在找到Qt存储插件的地方: $qmake -query QT_INSTALL_PLUGINS /Users/karlphillip/Qt/5.10.1/clang_64/plugins 并使用此信息在终端上创建一个新的环境变量,以使下一部分更容易: $export QT_PLUGIN_PATH=`qmake -query QT_INSTALL_PLUGINS` 最后,转到Qt plugins目录中的sqldrivers,并使用您之前找到的信息更新共享库路径: $cd /Users/karlphillip/Qt/5.10.1/clang_64/plugins/sqldrivers $install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib $QT_PLUGIN_PATH/sqldrivers/libqsqlmysql.dylib 完成. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |