ubuntu Linux上Qt 配置疑难杂症

本文档详细介绍了在Ubuntu Linux环境下,解决Qt连接MySQL时遇到的问题。问题表现为QSqlDatabase驱动未加载,原因是缺少libmysqlclient依赖库。解决步骤包括安装依赖、编译生成libqsqlmysql.so并拷贝到相应目录,从而成功解决连接问题。此外,还提到了编译Qt程序出现的‘vtable for MainWindow’引用错误,这可能由文件加密导致,需联系管理员将Qt工具设为信任。
摘要由CSDN通过智能技术生成

1. Qt 连接mysql程序运行时报如下错误

QSqlDatabase: MYSQL driver not loaded QSqlDatabase:

available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

原因可能是QT安装自带的缺乏libqsqlmysql.so响应的libmysqlclient.so依赖库,用ldd工具查看libqsqlmysql.so依赖是否完整,

如:ldd /home/liser/Qt5.9.4/Tools/QtCreator/lib/Qt/plugins/sqldrivers/libqsqlmysql.so

显示libmysqlclient.so.20 => not found

则需要自己编译生成新的libqsqlmysql.so

步骤如下:

a. 安装libmysqlclient依赖

sudo apt-get install mysql-client libmysqlclient-dev

b. cd /home/liser/Qt5.9.4/5.9.4/Src/qtbase/src/plugins/sqldrivers/mysql

qmake && make

c. 将生成的/home/liser/Qt5.9.4/5.9.4/Src/qtbase/plugins/sqldrivers/libqsqlmysql.so

拷贝到/home/liser/Qt5.9.4/5.9.4/gcc_64/plugins/sqldrivers/和/home/liser/Qt5.9.4/Tools/QtCreator/lib/Qt/plugins/sqldrivers/目录下

d. 重新运行测试程序,成功解决该问题

e.参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值