编译QT的MySQL驱动问题与其实际解决方案

数据库 MySQL
以下的文章主要向大家描述的是编译QT的MySQL驱动问题与其实际解决方案以及实际操作中我们所能用到的命令行参数的示例。

此文章主要介绍的是编译QT的MySQL驱动问题与其实际解决方案, 假如你在实际操作中遇到相似的情况,但是你却不知道对其如何正确的解决,那么以下的文章对你而言一定是良师益友。

做毕业设计要用到MySQL,界面方面想用下QT,顺便学习一下QT的使用。上去就碰到问题,没有MySQL的驱动(其实在.\Qt\4.6.0\plugins\sqldrivers目录下有,后来编译完了才发现,这里要崩溃一下~)。GOOGLE了一下,翻了翻网页,就开始编译MySQL驱动了。

这里使用QT4.6.0版本和VS2008自带的编译器

使用的命令行参数是:

qmake –o Makefile INCLUDEPATH+="D:\Program Files\MySQL\MySQL Server 5.1\include" LIBS+="D:\Program Files\MySQL\MySQL Server 5.1\lib\opt\libMySQL.lib" MySQL.pro

nmake

跟预料中的一样,编译出错,错误是"cannot find file: MySQL.pro",费了半天劲终于发现我进入的目录是".\Qt\4.6.0\src\sql\drivers\MySQL"而不是传说中的".\Qt\4.6.0\src\plugins\sqldrivers\MySQL"(本目录才是正确路径!)。发生本错误的同志们一定要检查一下命令行的路径进的是否正确!

一个问题解决了,qmake成功完成,开始nmake。这里先是碰到了qsqlMySQLd_resource.rc中找不到"WinVer.h"的错误。

找了找,发现WinVer.h头文件居然在Windows SDK的文件夹下,于是在".\Microsoft Visual Studio 9.0\Common7\Tools"中找到了vsvars32.bat设置环境变量的批处理,把该批处理拖入命令行窗口运行一遍(注意该批处理仅设置本次命令行窗口中的环境变量,并未修改注册表,所以每次打开个新命令行窗口都要运行一次批处理才可获得其中包含的环境变量设置!),再nmake,找不到WinVer.h的问题解决了。

再次nmake,这次问题就诡异了,居然找不到"MySQL.h"!但MySQL.h已经在qmake的INCLUDEPATH参数中包含进去了,怎么可能找不到?

郁闷,打开Makefile.Debug看看,发现里面INCLUDE进去的"D:\Program Files\MySQL\MySQL Server 5.1\include"每个空格处都被认为是一个路径,好好的路径给分的希碎,qmake的智商太低了!没法,把MySQL Server 5.1文件夹下的include和lib文件夹直接拷贝到根目录下,这样INCLUDEPATH和LIBS路径均无空格,再次qmake、nmake,OK了!

总结:QT编译MySQL驱动注意要点:

先检查".\Qt\4.6.0\plugins\sqldrivers"中有无sql驱动,有的话就别费这劲编译了!

安装MySQL时要勾住“C Include Files 和 Lib Files”选项,这样才能装上MySQL的头文件和链接库。

安装MySQL时路径中不要有空格,不然编译驱动太费劲(上面的找不到"MySQL.h"错误)。

命令行进行qmake和nmake前,一定要先转入正确目录(上面的"cannot find file: MySQL.pro"错误)!

在nmake前***运行一遍vsvars32.bat批处理(上面的找不到"WinVer.h"错误)。

 

 编译QT的MySql驱动问题及解决方案

以上的相关内容就是对编译QT的MySQL驱动问题及解决方案的介绍,望你能有所收获。

【编辑推荐】

  1. MySQL游标的使用笔记大全
  2. 对MySQL 存储过程中乱码的破解
  3. MySQL使用rand 随机查询记录效率测试
  4. MySQL数据库性能优化的实际操作方案
  5. MySQL备份之根据表备份概述

 

责任编辑:佚名 来源: cnblogs
相关推荐

2010-05-17 17:45:54

MySQL乱码问题

2011-06-16 14:12:30

Qt Mysql 驱动

2010-06-02 17:31:10

MySQL定时任务

2010-06-12 13:33:12

MySQL连接池

2010-05-18 14:00:46

MySQL5.0中文问

2010-05-18 18:45:31

MySQL5.0中文问

2010-04-28 11:48:13

Oracle MySQ

2011-06-21 16:13:51

Qt Oracle 驱动

2010-05-17 09:49:46

MySQL中文问题

2010-05-25 18:12:19

MySQL 安装

2010-07-26 09:48:49

SQL Server复

2010-05-31 18:33:00

MySQL中文乱码

2010-04-30 17:33:27

Oracle数据集成

2011-07-05 09:25:05

Qt MySQL 驱动

2011-06-14 13:59:09

Qt Qt 4.7.3 MYsql

2010-06-07 09:22:21

MySQL+PHP乱码

2010-07-13 16:36:07

SQLServer占内

2010-04-20 11:56:30

Oracle物理结构故

2010-05-28 19:25:11

MySQL移植问题

2010-02-24 14:05:08

WCF openati
点赞
收藏

51CTO技术栈公众号