【跟我一起开辟QT之路】(4)之编译MySql数据库驱动
2021/4/13 2:26:58
本文主要是介绍【跟我一起开辟QT之路】(4)之编译MySql数据库驱动,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、安装MySQL时选择安装include和lib文件,安装目录中不能有空格,一般设置C:\mysql
2、设置环境变量,需添加如下的环境变量:
C:\Qt\4.7.4\bin;
C:\Qt\4.7.4\qt\bin;
C:\Qt\4.7.4\mingw\bin;
C:\mysql\lib\opt;
C:\mysql\include;
C:\mysql\bin
上述环境变量不能缺省,网上分享的解决办法提及环境变量的很少,若设置不正确编译过程中会遇到很多错误。
3、打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车
然后输入第二条命令: qmake "INCLUDEPATH+=C:\MySQL\include"
"LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro
最后输入:mingw32-make 进行编译。
4、上述操作完成后,在C:\Qt\4.7.4\qt\plugins\sqldrivers就会生成所需的驱动文件。
上述四条是不出问题的情况下的步骤,不过一般不会那么顺利,不同的人安装的过程中会出现不同的问题,这是一个折磨人的过程,但也是一个学习的过程哦。下面就说说我在安装过程中遇到的一些问题。
1、环境变量设置错误,没有将上述六条路径全部正确输入。
2、正确输入环境变量后在Qt Command Prompt中编译出现C:\mysql\libmysql.lib: No such file or directory的
错误。
这是说在C:\mysql目录中找不到libmysql.lib库文件, 到C:\mysql\lib\opt目录中复制该文件放到C:\mysql中然
后再编译就会成功。
3、WARNING: (internal):1: Unescaped backslashes are deprecated. 这种错误的解决方法如下:
(1)进入目录E:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql,用记事本打开mysql.pro,在第二行添加如下的信息:INCLUDEPATH+="C:\MySQL\include" LIBS+="C:\MySQL\lib\opt\libmysql.lib"
(2)在dos下输入:qmake -o Makefile mysql.pro此时可能也会提示:
WARNING: e:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are
deprecated.
WARNING: e:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are
deprecated.
WARNING: e:\Qt\4.7.4\qt\src\plugins\sqldrivers\mysql\mysql.pro:2: Unescaped backslashes are
deprecated.
但是对最后的结果没有影响。
(3)输入:mingw32-make(使用nmake或者是make提示不是内部或外部命令,所以用了这个命令)
(4)上述操作完毕后,在C:\Qt\4.7.4\qt\plugins\sqldrivers就会生成所需的驱动文件,包含四个:
qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a
4、e:/qt/4.7.4/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe cannot find -1libmysql
该问题产生的原因是在执行mingw32-make时,编译器在 E:\Qt\2010.05\mingw文件夹中找不到对应的库文
件。此问题的解决方法如下:
将C:\MySQL\lib\opt中的libmysql.lib拷贝到E:\Qt\4.7.4\mingw\lib中即可解决。
这篇关于【跟我一起开辟QT之路】(4)之编译MySql数据库驱动的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7
- 2024-02-18从 20 多套 MySQL 到 1 套 TiDB丨骏伯网络综合运营管理平台应用实践
- 2024-02-07mysql 外键索引入门介绍,为什么工作中很少有人使用?