linux - QSqlDatabase:未加载 QMYSQL 驱动程序
问题描述
当我运行此代码时,我遇到了 Qt 与 MySql 连接的问题
QSqlDatabase DBObject = QSqlDatabase::addDatabase("QMYSQL");
DBObject.setHostName("localhost");
DBObject.setDatabaseName("SingleDB");
DBObject.setUserName("root");
DBObject.setPassword("abc123");
bool ok = DBObject.open();
我得到了这个... QSqlDatabase:未加载 QMYSQL 驱动程序
我也已经这样做了:sudo apt-get install libmysqlclient
和
/home/wrm/Qt/5.12.3/gcc_64/bin/qmake "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
在这里我有这个错误: 项目错误:未定义库'mysql'
任何想法?
解决方案
通常,当您收到“未加载驱动程序”错误时,问题在于 libqsqlmysql.so 所在的路径。
该库包含在 Qt 安装的 plugins/sqldrivers 文件夹中,并且 (sqldrivers) 文件夹应该可用于您的可执行文件。
您必须确保 sqldrivers 文件夹位于可执行文件的同一文件夹中(即默认查找路径之一)或使用QCoreApplication::addLibraryPath在代码中更改这些路径
所以,总结一下:
- 确保 sqldrivers 文件夹的路径(或更改插件查找路径)
- 确保也链接到 libmysqlclient(在我的系统上 libmysqlclient_r 只是到 libmysqlclient 的链接)
- 尝试发布一些对您不起作用的小代码。
推荐阅读
- arrays - 从一组数组中获取 10 个最小的数组
- spring-webflux - Spring Cloud Gateway 中未加载静态内容
- database - 增加 Cassandra 连接超时 - WCGW
- python - Python,pip install 卡在收集“module_name”
- python - 无法从 python 连接到 MySQL 服务器 Azure
- reactjs - 100vh 的问题,内容大于我的浏览器窗口
- java - 搜索算法中的平均比较次数
- r - 基于R中特定类别的其他列以百分比计算列
- java - 如何在 Spring Boot 中过滤所有数据库操作的某些记录
- javascript - 如果设备不支持抗锯齿,getContext with antialias: true 会返回一个有效的上下文吗?