QT 5.13.0 + MSVC2017 + MYSQL8.0.11
首先将msvc2017添加到环境变量
然后打开D:\QT-5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql
目录下的mysql.pro
添加mysql位置,并注释QMAKE_USE += mysql
找到qsqldriverbase.pri
文件,注释include($$shadowed($$PWD)/qtsqldrivers-config.pri)
,添加include($$shadowed($$PWD)/qtsqldrivers-config.pri)
打开:
进入D:\QT-5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql
执行qmake "INCLUDEPATH+=D:/mysql-8.0.11-winx64/include" "LIBS+=D:/mysql-8.0.11-winx64/lib/libmysql.lib" mysql.pro
打开:
进入D:\QT-5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql
执行qmake -- MYSQL_INCDIR="D:/mysql-8.0.11-winx64/include" MYSQL_LIBDIR="D:/mysql-8.0.11-winx64/lib/libmysql.lib"
完成后执行nmake
在执行完成后,查看是否是MSVC2017编译的库,查看方式如下:
完成后打开D:\QT-5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
找到:复制到D:\QT-5.13.0\5.13.0\msvc2017_64\plugins\sqldrivers
将mysql8.0.11目录下的lib中的libmysql.lib
复制到到D:\QT-5.13.0\5.13.0\msvc2017_64\bin
。
到此已经完成了mysql的编译。
问题1:有驱动,但是加载驱动失败。
这个问题出现最多,首先得保证你的编译器是msvc2017,而不是MinGw。
然后通过DependenciesGui查看你编译的软件需要依赖的库,将库加到Qt编译的软件目录中。
DependenciesGui下载位置:https://github.com/lucasg/Dependencies
若加入库后还有问题,mysql进入链接后点击图片指向的位置。
选择自己的版本的库下载。
下载后将lib中的LIB加入到qt的编译的build中。