Qt中Mac编译MySQL驱动

准备工作

  1. mysql安装包
  2. Qt安装时选择了Source

编译过程

  1. 下载并解压MySQL安装包。
  2. 修改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
上一篇:C语言--全局变量


下一篇:等差素数列#暴力