本文目录一览:
- 1、qt5.8 for mingw编译静态版本时怎么加mysql
- 2、QT编译mysql驱动为啥没有qsqlmysqld4.dll这个文件产生?压根就不产生.dll文件就产生了一个.a文件
- 3、qt已经成功编译mysql数据库,为什么不能加载成功
- 4、qt mysql编译报错cannot find -llibmysql
- 5、【QT】编译mysql驱动出现问题
qt5.8 for mingw编译静态版本时怎么加mysql
注意编译器一定要和MYSQL的平台版本一致,32位的用32位的编译器编译,64位的用64位的编译器编译。
准备工作:MYSQL的目录:D:\SQL_Server\mariadb
Qt5.1.1的目录:C:\Qt
1. 先将D:\SQL_Server\mariadb中的include\和lib\文件夹复制到根目录(C:),因为后面make时路径不能有空格。
2. 打开QT5.1.1 for Desktop(MinGW 4.8)
cd C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=D:\SQL_Server\mariadb\include" "LIBS+=D:\SQL_Server\mariadb\lib\libmysql.lib" mysql.pro
mingw32-make
如果出现找不到mysql.h文件就用qtcreator打开mysql.pro文件,配置项目,然后编译,就会出现错误提示,把#include 改成#include ,编译就行了,或回到命令行再次执行mingw32-make即可.
3. 编译成功后。
进入到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers目录下,选中qsqlmysql.dll和 qsqlmysqld.dll两个文件,
复制到C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\sqldrivers目录下。
QT编译mysql驱动为啥没有qsqlmysqld4.dll这个文件产生?压根就不产生.dll文件就产生了一个.a文件
首先把你工程目录下的所有makefile 、makefilerelease 、.pro.user等之前的编译数据删除掉
打开你的.pro文件,找到这样一句:
TEMPLATE = ...
把他改成:
TEMPLATE = lib
再重新编译试试
qt已经成功编译mysql数据库,为什么不能加载成功
我在学习qt mysql的时候
网上搜索资料,好不容易编译出来mysql
可是 我把编译的dll复制到对应目录下 运行后提示:不能加载
后来终于知道是为什么了
因为编译好了,把编译成功的dll放在
D:\Qt\Qt5.0.1\5.0.1\mingw47_32\plugins\sqldrivers 这个目录下 还不行的
还有一个步骤
就是把你安装的mysql 也就是 E:\xampp\mysql\lib 这个目录下的 libmysql.dll 这个文件复制到 D:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin 这个目录
然后测试 就可以正常运行了
为什么要这样一个步骤,我想你编译的dll需要依赖mysql官方的那个libmysql.dll 所以 ,你需要复制过去
大概的步骤是:
1.下载mysql最新版本,安装的时候选择全部安装,否则你安装的mysql里没有对应的c++文件 【也就是没有E:\xampp\mysql\lib 和 E:\xampp\mysql\include 这2个目录】 这2个目录是很重要的
2.下载qt官方的qt源码,【如果你下载的qt的安装版,默认是没有源码的,你需要去qt官方再次下载一个源码】
qt mysql编译报错cannot find -llibmysql
在pro文件中增加第三方库文件的语法如下
LIBS += -LMYSQLLIBPATH -lmysql
-L 参数后面是libmysql.lib文件所在的目录路径
-l 参数后面是需要连接的libmysql.lib库文件名称(去掉开头的lib和结尾的.lib)
【QT】编译mysql驱动出现问题
看起来你并不是要编译mysql库,而是要使用mysql库啊: -llibmysql 然后接下来这两条信息是说没找到libmysql.dll文件: c:/qt/mingw/bin/../lib/gcc/