linux(ubuntu18.04.2)下 Qt编译 MySQL链接库的教程

4 篇文章 0 订阅

linux(ubuntu18.04.2)下 Qt编译 MySQL链接库的教程
参考1

参考2

1、安装MySQL

	sudo apt-get install mysql-server mysql-client
	sudo apt-get install libqt5sql5-mysql
	sudo apt-get install libmysqlclient20
	sudo apt-get install libmysqlclient-dev

安装mySQL的主要目的是使用 libmysqlclient.so这个动态库,后面会详细提到如何使用

关于MySQL的账号、密码 以 及库、表的配置不做过多赘述。

2、编译MySQL动态库

1)找到MySQL的项目位置

	//Qt的安装目录下  找到MySQL项目
   /opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql

路径下所包含的文件如下,需要对mysql.pro文件进行处理
在这里插入图片描述
处理如下:

	//修改mysql.pro文件
   //使用vim打开mysql.pro
   vim mysql.pro
   //修改结果如下
   TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
//下面这句需要使用“#”注释掉
#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

** 进入下方目录**

/opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers# 

//修改   qsqldriverbase.pri  文件   
QT  = core core-private sql-private

#For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/qtsqldrivers-config.pri) //本句被注释掉
include($$shadowed($$PWD)/configure.pri)//本句为新添加

PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
//修改结果如下

到此,编译前的准备工作结束了

 在此之间,需要保证Qt已经安装(我安装的版本是5.14.2),并且安装时勾选了       Sources  这个很重要

执行qmake,制作MakeFile

//进入目录
/opt/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql
//使用如下    qmake 命令      请详细阅读后自行修改
sudo /opt/Qt5.14.2/5.14.2/gcc_64/bin/qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient" mysql.pro
//如果有关于 no find -lmysqlclient 相似语句出现,
//是因为在/usr/lib/x86_64-linux-gnu/目录下未能找到 libmysqlclient.so 这个动态链接库所致
//可以使用 find / -name libmysqlclient.so 查找到 libmysqlclient.so 的目录用于替换
//"LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient"
//另外也有使用
//"LIBS+=-L/usr/lib/mysql -lmysqlclient_r"
//这样目录完成的

以上步骤完成,将出现Makefile文件

执行make

找到生成的libqsqlmysql.so,使用cp /mv命令复制转移到如下目录即可

/opt/Qt5.14.2/5.14.2/gcc_64/plugins/sqldrivers 
					至此编译完成,如有问题,可以留言,看见就会解答
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值