C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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("@R_944_6048@s");
   } 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

试过

@H_654_13@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
> mysql-connector-c-6.1.11-macos10.12-x86_64.dmg
> Qt 5.10.1
> clang:Apple LLVM版本9.0.0(clang-900.0.39.2)目标:x86_64-apple-darwin17.5.0

你很幸运,我最初没有得到这个消息.我必须通过在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

完成.

大佬总结

以上是大佬教程为你收集整理的QT / C QSqlDatabase:未在OS X上加载QMYSQL驱动程序全部内容,希望文章能够帮你解决QT / C QSqlDatabase:未在OS X上加载QMYSQL驱动程序所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。