Qt版本6.7.2 64位
MySql版本mysql-8.0.39-winx64。
报错:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMIMER QODBC QPSQL
Failed to connect to database: "Driver not loaded Driver not loaded"
MySQL动态库配置
- 将计算机上所安装的MySQL根目录下lib目录下的libmysql.lib和libmysql.dll复制到Qt根目录6.7.2\msvc2019_64\bin下,具体复制的路径依使用的编译器而定
- 将计算机上所安装的MySQL根目录下bin目录下的libcrypto-3-x64.dll和libssl-3-x64.dll复制到Qt根目录6.7.2\msvc2019_64\bin下,具体复制的路径依使用的编译器而定
开始手动生成qsqlmysql.dll和qsqlmysql.debug文件
2、手动生成qsqlmysql.dll和qsqlmysql.debug文件。
2.1、复制mysql安装包mysql-8.0.39-winx64.zip解压后的mysql-8.0.39-winx64整个目录到E盘下,唯一要求该文件路径不能有空格,事后删除。
2.2、修改.cmake.conf文件,该文件路径:D:\Qt\6.7.2\Src\qtbase\src\plugins\sqldrivers\.cmake.conf
往该文件中添加五行代码,(记得\换/,保存退出):
set(QT_REPO_MODULE_VERSION "6.7.2")
set(feature_sql_mysql ON)
set(MYSQL_INCLUDE_DIR "E:/mysql-8.0.39-winx64/include")
set(MYSQL_LIBRARY "E:/mysql-8.0.39-winx64/lib")
set(MySQL_FOUND TRUE)
2.3、右击与.cmake.conf同目录下的CMakeLists.txt选择QT打开(或者用QT打开这个文件),然后点击(小锤子)构建并编译。编译成功之后qsqlmysql.dll和qsqlmysql.debug就生成成功了。
2.4、找到qsqlmysql.dll和qsqlmysql.debug(我的在D:\Qt\6.7.2\Src\qtbase\src\plugins\sqldrivers\build\build-QSQLiteDriverPlugins-Desktop_Qt_6_7_2_MSVC2019_64bit-Release\plugins\sqldrivers目录下)将其拷贝到 D:\Qt\6.7.2\msvc2019_64\plugins\sqldrivers下。