win下Qt连接MySql (mingw)
来源:互联网 发布:mac版本升级 编辑:程序博客网 时间:2024/04/28 14:26
/************************************************************************************************************************************
因为要写个连接mysql的动态库,所以研究了下win下Qt连接MySql (mingw)。网上搜了下,qt中没有现成的mysql驱动,所以必须自己动手编译
下文所用环境
操作系统:win7
编译器:mingw
mysql: mysql5.5
Qt:4.6.3
这里需要一个mingw工具reimp 是一个把 .lib 转换成.a 的工具, 后面会说那里用到。
下载地址:http://www.qtcn.org/download/mingw-utils-0.3.tar.gz
参考连接:
http://mobile.51cto.com/symbian-268727.htm
注:本环境只是简单的把mingw 和qt底下的bin 加入到了path环境变量中,其他没有配什么,所以不需要担心这方面
*************************************************************************************************************************************/
Qt Assistant中搜索下:
会看到,里面已经有说明,不过太精炼,真正做的时候总是因为这或那,搞的你头大。
我安装工具的路径
Qt:C:\Qt\2010.04\qt
mysql:C:\MySQL\MySQL Server 5.5
下面一步一步讲:
1.因为mysql如果是默认安装,文件名是有空格的,所以我在d:/下创目录 mysql
2.把C:\MySQL\MySQL Server 5.5\include C:\MySQL\MySQL Server 5.5\lib 都拷贝到 d:\mysql中
3.qt助手里说的是用 libmysql.lib 和nmake来编译,我看其他资料上说是没问题,但是 mingw是linux下的环境 需要libmysql.a的。 所以需要用到reimp工具来进行转换
如果你的mingw/bin中没有,那么上面有下载地址,下载解压后,把reimp拷贝到 mingw/bin下
ctrl+r 输入 cmd 回车
命令:
cd d:\mysql\lib
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a
执行完后,在d:\mysql\lib 中应该有libmysql.a文件了
4.因为有些环境变量没配,所以这里需要打开 Qt command Prompt 。细心的话你会发现打开Qt command Prompt时,它会设置一些环境变量。
命令:
1. cd %QTDIR%\src\plugins\sqldrivers\mysql
2. qmake -o Makefile "INCLUDEPATH+=D:\mysql\INCLUDE" "LIBS+=D:\mysql\LIBMYSQL.a" mysql.pro
3. mingw32-make
执行到这里,如果没有提示错误,那么就说明成功了。去C:\Qt\2010.04\qt\plugins\sqldrivers 会看到
- qsqlmysql4.dll
- libqsqlmysql4.a
- qsqlmysqld4.dll
- libqsqlmysqld4.a
下面创建一个qt empty project 别忘了在 pro文件里添加
QT += sql
main.cpp
#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() << "\t "<< driver; qDebug() << "End"; return a.exec();}
执行结果
希望这篇对你有帮助
- win下Qt连接MySql (mingw)
- Qt环境(MinGW, VS2008)下编译MySQL驱动
- qt连接sqlite数据库(win下Qt5)
- Qt mingw编译MySQL驱动和连接MySQL数据库
- Qt下连接mysql
- qextserialport-1.2win-alpha在Win7下Qt 5.0.2 MinGW编译遇到的问题及解决方法 (used)
- win下远程连接linux下mysql
- qt mysql mingw drivers
- ubuntu安装mysql ,win下远程连接
- windows 下qt 连接mysql
- LINUX 下QT 连接MYSQL
- windows下,Qt连接Mysql
- Win下CLion+MinGW环境配置
- 【QT】2-[附加] Qt4.8.5 VS2010 QtCreater MinGW多种搭配方法,适合win系统下的所有情况
- win下连接virtualbox中linux虚拟机的mysql
- 用Eclipse(Version: 3.0.1)编译Qt的设置(qt-win-opensource-4.1.0-mingw.exe)
- qt-win-opensource-4.7.4-mingw怎么安装
- qt-win-opensource-4.7.4-mingw怎么安装
- C# 线程手册 .NET 中的线程 时钟和回调
- 坑爹的android碎片化
- mingw 编译boost
- [专栏] 新一轮硬体经济热潮来袭!
- 服务中如何响应系统消息
- win下Qt连接MySql (mingw)
- 自定义seekbar的样式(图片)
- IOS红外感应和防止待机
- 使用自定义annotation接口进行aspectj动态缓存
- GET和POST区别详解
- C++ map 的使用
- 程序员应该知道的100个vim命令以及Vim 键盘图
- ORA-16416: Switchover target is not synchronized with the primary
- LeetCode Maximal Rectangle