Qt4.8.6编译mysql5.5




https://www.cnblogs.com/findumars/p/6017617.html

Qt4.8.6编译mysql5.5

一、必须知道的一些常识

1、Qt5自带MySQL数据库驱动的,而Qt4如果要进行mysql数据库操作,需要自己编译mysql数据库驱动

2、Qt安装完之后是自带两个关于mysql文件夹的,比如说我的安装目录

D:\Qt\4.8.6\src\plugins\sqldrivers\mysql,里面包含三个文件mysql.pro、main.cpp、README,

编译mysql驱动其实就是编译里面的mysql.pro项目

D:\Qt\4.8.6\plugins\sqldrivers这个目录存放已经编译好的.a和.dll文件

3、注意编译器一定要和MYSQL的平台版本一致,32位的mysql用32位的编译器编译,

64位的mysql用64位的编译器编译。

因为我的Qt是32位的,所以我在此提供32位的mysql下载地址:

http://download.csdn.net/detail/bladeandmaster88/9668220

mysql安装方法http://jingyan.baidu.com/article/647f011591f1eb7f2148a81a.html

如果你是32位的Qt却下载64位的mysql来编译会出现各种链接错误,比如:

undefine reference to mysql_error

undefine reference to mysql_errno

………….

二、编译mysql

到mysql的安装目录C:\ProgramFiles (x86)\MySQL\MySQL Server 5.5,把里面的include文件夹和lib文件夹,把他们复制后,

在d盘建一个”mysql5.5”的文件夹,把include和lib放进去如下图,因为mysql的安装目录路径有空格

include和lib里面的头文件和库在编译的时候找不到,所以需要重新建一个路径存放include和lib,

让编译器能够识别其路径,找到里面的头文件和库。

 

 

方法一:直接用Qt编译

 

用Qt打开D:\Qt\4.8.6\src\plugins\sqldrivers\mysql中的mysql.pro项目

 在mysql.pro中加入3行代码(红色部分)

TARGET =qsqlmysql

SOURCES =main.cpp

 

INCLUDEPATH += d:/mysql5.5/include

LIBS += d:/mysql5.5/lib/libmysql.lib

CONFIG += bulid_all

include(../../../sql/drivers/mysql/qsql_mysql.pri)

include(../qsqldriverbase.pri)

注意:

1、红色代码一定要在绿色两行代码之前,否则出现error: cannot find –llibmysql,

2、INCLUDEPATH +=d:/mysql5.5/include

LIBS += d:/mysql5.5/lib/libmysql.lib

这两句是为了找到include头文件和 lib库

3、CONFIG += bulid_all是为了一次性就能同时生产release版和debug版的库

直接点击运行按钮,编译结果如图:

 

把debug和release里面生成的libqsqlmysql4.a,libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll 四个文件

拷贝到D:\Qt\4.8.6\plugins\sqldrivers,还必须将D:\mysql5.5\lib下的libmysql.dll拷贝到D:\Qt\4.8.6\bin

 

测试:

#include<QCoreApplication>

#include<QSqlDatabase>

#include<QDebug>

#include<QStringList>

 

intmain(intargc,char*argv[])

{

   QCoreApplicationa(argc,argv);

   qDebug()<<"Availabledrivers:";

   QStringListdrivers=QSqlDatabase::drivers();

   foreach(QStringdriver,drivers)

       qDebug()<<"\t"<<driver;

 

   returna.exec();

}

输出结果:

Availabledrivers:

"QSQLITE"

"QMYSQL3"

"QMYSQL"

"QODBC3"

"QODBC"

输出了"QMYSQL3" "QMYSQL"说明mysql驱动已经编译好

方法二:使用Qt  Command Prompt 编译

在mysql.pro中加入2行代码(红色部分)

TARGET =qsqlmysql

SOURCES =main.cpp

 

INCLUDEPATH += d:/mysql5.5/include

LIBS += d:/mysql5.5/lib/libmysql.lib

 

include(../../../sql/drivers/mysql/qsql_mysql.pri)

include(../qsqldriverbase.pri)

 

打开Qt CommandPrompt 窗口

输入命令:cd d:\Qt\4.8.6\src\plugins\sqldrivers\mysql

输入命令 qmake

输入命令make all

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值