准备工作
- mysql安装包
- Qt安装时选择了Source
编译过程
- 下载并解压MySQL安装包。
- 修改mysql.pro文件(Qt/5.12.10/Src/qtbase/src/plugins/sqldrivers/mysql/mysql.pro)。
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql ## 这个位置注释掉
# 添加下面一个依赖与一个库
INCLUDEPATH+=/Users/rey/.sbin/mysql-8.0.26-macos11-x86_64/include
LIBS += -L//Users/rey/.sbin/mysql-8.0.26-macos11-x86_64/lib -lmysqlclient
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
在编译的过程中可能会报错提示找不到qtsqldrivers-config.pri;
直接将qsqldriverbase.pri复制一份名称为 qtsqldrivers-config.pri即可。
编译: qmake ./mysql.pro
添加驱动
make && make install
会自动添加驱动到编译器的sqldrivers目录中。
找到新编译的驱动,使用otool -L libmysqlclient.dylib
检测一下依赖
正常会找不到库。@rpath/libmysqlclient.21.dylib
将mysql 安装包中的这个文件创建一个软连接放到 clang_x64/lib/目录即可。
sudo ln -s /mysql/lib/libmysqlclient.dylib xxxx/clang_64/lib/libmysqlclient.21.dylib