如何在windows上安装QMYSQL包
参考文章:
Qt官网文档
QMYSQL driver not loaded 原因以及办法(附驱动)-CSDN博客
事情原因:
本人在使用windows的qt连接mysql的时候出现了错误,错误信息如下:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QPSQL
mysql连接失败
解决方法如下:
- 首先安装MySQL
- 特别注意,安装路径中一定不要有空格,否则后面的编译会出错
- 安装好之后找到MySQL以下文件所在的位置
/lib/libmysql.lib
/lib/libmysql.dll
/include/mysql.h
注意:
从MySQL 8.0.19开始,C连接器不再作为独立的可安装组件提供。相反,您可以通过安装完整的mysql Server(仅x64)或MariaDB C连接器来获得mysql.h和libmysql.*。
- 按照如下方式安装包
这里假设 是 C:\mysql-8.0.22-winx64
mkdir build-sqldrivers
cd build-sqldrivers
qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DMySQL_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib"
本人的第三条命令如下:
qt-cmake -G Ninja -DCMAKE_MAKE_PROGRAM=F:\System\QT\Tools\Ninja\ninja.exe F:\System\QT\6.5.3\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=F:\System\QT\6.5.3\mingw_64 -DMySQL_INCLUDE_DIR="D:\Program_Files\MySQL\MySQL-Server-8.0\include" -DMySQL_LIBRARY="D:\Program_Files\MySQL\MySQL-Server-8.0\lib\libmysql.lib"
- 接着用运行
cmake --build .
- 然后运行
cmake --install .
- 将plugin的驱动程序复制到对应目录下
将qsqlmysql.dll和qsqlmysqld.dll拷贝到Qt的安装目录下。F:\qt\5.9\mingw53_32\plugins\sqldrivers
将mysql中的libmysql.dll复制到Qt的安装目录中。F:\qt\5.9\mingw53_32\bin