在VS2010中集成QT + Qt4.8.2编译MYSQL驱动
2015-05-15 11:46
411 查看
环境:VS2010 +Qt4.8.2+MySQL
针对5.2之前的版本MySQL需要自行编译,这里就以4.8.2为例(其它版本同理)。
关于数据库驱动的介绍以及如何编译可以参考Qt助手,里面有一节:SQL Database Drivers。
![](http://s9.sinaimg.cn/mw690/0033AMT7gy6F26M4AR288&690)
环境:VS2010 +Qt4.8.2
其实版本问题没有什么太大影响,因为编译本来就大同小异。。。
一、下载Qt安装包与Qt插件
qt-win-opensource-4.8.2-vs2010.exe
qt-vs-addin-1.1.11-opensource.exe
注意:一定要先安装qt-win-opensource-4.8.2-vs2010.exe,然后在安装qt-vs-addin-1.1.11-opensource.exe,
安装完成后重启vs2010,即可在菜单栏上看到QT选项
二、下载MySQL
MySQL主页:http://www.mysql.com/.
(1)进入主页,选择:Downloads(GA)
如下:
![](http://s15.sinaimg.cn/mw690/0033AMT7gy6EXXCoKnk5e&690)
(2)转到页面最下面,MySQL Community Edition (GPL),选择:Download fromMySQL Developer Zone >>
如下:
![](http://s14.sinaimg.cn/mw690/0033AMT7gy6EXXKcFkx7d&690)
(3)转到页面右上角,选择:New Releases对应的版本(这里我选择的是5.6)
如下:
![](http://s11.sinaimg.cn/mw690/0033AMT7gy6EXXTxgf0aa&690)
(4)转到页面最下面,Other Downloads,选择对应的版本(这里我选择的是32位)(注意MySQL64或32位对后面的配置有影响,而且安装路径不能有空格)
如下:
![](http://s9.sinaimg.cn/mw690/0033AMT7gy6EXYn99t698&690)
下载完成之后,进行解压,拷贝到一个指定的路径(我选择的是:D:\mysql)。
三、编译
(1)选择:开始->所有程序->Qt by Nokia v4.8.2 (VS2010 OpenSource)->Qt 4.8.2 Command Prompt
如下:
(2)进入Qt源码目录,我的为:D:\Qt4.8.2\src\plugins\sqldrivers\mysql
(3)执行命令:qmake "INCLUDEPATH+=D:\mysql\include""LIBS+=D:\mysql\lib\libmysql.lib" mysql.pro
或者
编辑目录下的mysql.pro文件
添加
INCLUDEPATH+="D:\mysql\include"
LIBS+="D:\mysql\lib\libmysql.lib"
执行命令:qmake -o Makefile mysql.pro
注意:这里如果使用的MySQL\include和lib是64位的,那么在qmake的时候是会有问题的,在后面的nmake时是无法成功生成链接库的
如下:
这里会出现警告,但对后面无影响。
执行完成之后,就会生成Makefile文件。
如下:
(4)选择:开始->所有程序->Microsoft Visual Studio 2010->VisualStudio Tools->Visual Studio 命令提示(2010)
如下:
![](http://s8.sinaimg.cn/mw690/0033AMT7gy6EXZEGAej57&690)
(5)执行命令:nmake
切换到D:\Qt4.8.2\src\plugins\sqldrivers\mysql 目录下
执行nmake debug和nmake release
如下:
![](http://s1.sinaimg.cn/mw690/0033AMT7gy6EXZKutAQ70&690)
正常结束后,就会生成MySQL驱动库。
4000
如下:
(6)准备环境
将生成的qsqlmysql.dll、qsqlmysqld.dll、qsqlmysql.lib、qsqlmysqld.lib拷贝到D:\Qt4.8.2\plugins\sqldrivers目录中。
将MySQL目录(D:\mysql\lib)下的libmysql.dll、libmysqld.dll拷贝到D:\Qt4.8.2\bin目录中。
好了,到这里就大功告成了。
(7)测试连接
#include <QtCore/QCoreApplication>
#include <QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;
//打开MySQL
QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL");
data_base.setHostName("127.0.0.1"); //设置主机地址
data_base.setPort(3306); //设置端口
data_base.setDatabaseName("my_database"); //设置数据库名称
data_base.setUserName("root"); //设置用户名
data_base.setPassword("root"); //设置密码
if(!data_base.open())
qDebug()<<"failed to connect to mysql";
else
qDebug()<<"success";
QString select_all_sql = "select * from my_classinfo";
//查询所有数据
QSqlQuery sql_query;
sql_query.prepare(select_all_sql);
if(!sql_query.exec())
{
qDebug()<<sql_query.lastError();
}
else
{
while(sql_query.next())
{
QString id = sql_query.value(0).toString();
QString templ_name = sql_query.value(1).toString();
qDebug()<<QString("Id:%1 Templ Name:%2").arg(id).arg(templ_name);
}
}
return a.exec();
}
针对5.2之前的版本MySQL需要自行编译,这里就以4.8.2为例(其它版本同理)。
关于数据库驱动的介绍以及如何编译可以参考Qt助手,里面有一节:SQL Database Drivers。
环境:VS2010 +Qt4.8.2
其实版本问题没有什么太大影响,因为编译本来就大同小异。。。
一、下载Qt安装包与Qt插件
qt-win-opensource-4.8.2-vs2010.exe
qt-vs-addin-1.1.11-opensource.exe
注意:一定要先安装qt-win-opensource-4.8.2-vs2010.exe,然后在安装qt-vs-addin-1.1.11-opensource.exe,
安装完成后重启vs2010,即可在菜单栏上看到QT选项
二、下载MySQL
MySQL主页:http://www.mysql.com/.
(1)进入主页,选择:Downloads(GA)
如下:
(2)转到页面最下面,MySQL Community Edition (GPL),选择:Download fromMySQL Developer Zone >>
如下:
(3)转到页面右上角,选择:New Releases对应的版本(这里我选择的是5.6)
如下:
(4)转到页面最下面,Other Downloads,选择对应的版本(这里我选择的是32位)(注意MySQL64或32位对后面的配置有影响,而且安装路径不能有空格)
如下:
下载完成之后,进行解压,拷贝到一个指定的路径(我选择的是:D:\mysql)。
三、编译
(1)选择:开始->所有程序->Qt by Nokia v4.8.2 (VS2010 OpenSource)->Qt 4.8.2 Command Prompt
如下:
(2)进入Qt源码目录,我的为:D:\Qt4.8.2\src\plugins\sqldrivers\mysql
(3)执行命令:qmake "INCLUDEPATH+=D:\mysql\include""LIBS+=D:\mysql\lib\libmysql.lib" mysql.pro
或者
编辑目录下的mysql.pro文件
添加
INCLUDEPATH+="D:\mysql\include"
LIBS+="D:\mysql\lib\libmysql.lib"
执行命令:qmake -o Makefile mysql.pro
注意:这里如果使用的MySQL\include和lib是64位的,那么在qmake的时候是会有问题的,在后面的nmake时是无法成功生成链接库的
如下:
这里会出现警告,但对后面无影响。
执行完成之后,就会生成Makefile文件。
如下:
(4)选择:开始->所有程序->Microsoft Visual Studio 2010->VisualStudio Tools->Visual Studio 命令提示(2010)
如下:
(5)执行命令:nmake
切换到D:\Qt4.8.2\src\plugins\sqldrivers\mysql 目录下
执行nmake debug和nmake release
如下:
正常结束后,就会生成MySQL驱动库。
4000
如下:
(6)准备环境
将生成的qsqlmysql.dll、qsqlmysqld.dll、qsqlmysql.lib、qsqlmysqld.lib拷贝到D:\Qt4.8.2\plugins\sqldrivers目录中。
将MySQL目录(D:\mysql\lib)下的libmysql.dll、libmysqld.dll拷贝到D:\Qt4.8.2\bin目录中。
好了,到这里就大功告成了。
(7)测试连接
#include <QtCore/QCoreApplication>
#include <QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;
//打开MySQL
QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL");
data_base.setHostName("127.0.0.1"); //设置主机地址
data_base.setPort(3306); //设置端口
data_base.setDatabaseName("my_database"); //设置数据库名称
data_base.setUserName("root"); //设置用户名
data_base.setPassword("root"); //设置密码
if(!data_base.open())
qDebug()<<"failed to connect to mysql";
else
qDebug()<<"success";
QString select_all_sql = "select * from my_classinfo";
//查询所有数据
QSqlQuery sql_query;
sql_query.prepare(select_all_sql);
if(!sql_query.exec())
{
qDebug()<<sql_query.lastError();
}
else
{
while(sql_query.next())
{
QString id = sql_query.value(0).toString();
QString templ_name = sql_query.value(1).toString();
qDebug()<<QString("Id:%1 Templ Name:%2").arg(id).arg(templ_name);
}
}
return a.exec();
}
相关文章推荐
- ubuntu 12.04 下编译 qt4.8.2 和mysql驱动
- win8安装Qt+mysql+qt编译mysql驱动+测试实例解析4.8.2
- Win7使用Visual Studio 2010编译用于Qt4.8.6的MySQL驱动
- qt4.7.3编译MYsql驱动
- Qt使用msvc编译MySQL驱动
- Qt编译mysql驱动
- 编译QT的mysql驱动
- Windows下Qt编译MySQL驱动
- 实现在XP中为QT编译MySQL驱动实例
- windows下编译qt的mysql驱动
- 使用mingw32编译QT下mysql驱动的流程
- QT 编译mysql驱动
- Windows下编译Qt的Mysql驱动
- Qt4.8.5编译mysql5.7.30驱动
- linux下编译Qt驱动libqsqlmysql.so
- Qt用Mingw编译MySQL驱动
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
- QT Mysql 驱动编译过程(win32系统平台)
- vs 2005 qt下编译 MYsql 驱动
- Ubuntu15.04下QT5.4编译配置MySQL5.6.26连接驱动