关于win7 配置 qt mysql连接!!

来源:互联网 发布:水利部定额造价软件 编辑:程序博客网 时间:2024/06/04 23:26

系统环境:win7

软件:qt-sdk 4.7.3    D:/qt (这个里面没有安装mingw 之前安装过mingw)

mysql-5.1.4   F:/phpserver/mysql (记住安装include 和 lib)

mingw   D:/program files  (这个是单独安装的 没有默认qt 里面的mingw)

至于怎么配置qt 大家自己baidu ,google找吧 这个一大堆!

好了,言归正传 之前我 连接 mysql 一直出错,不是drivers not  load 就是 提示 源文件错误 ,总之一直有问题,一直连接不上!

后来干脆直接重装了QT!

再次编译时首先提示的 qsql_mysql.h 中的 #include "mysql.h" 没有这个文件!

然后把 mysql 里面的 include 里面的文件拷贝到 D:/Qt/qt/src/sql/drivers/mysql 下面(给个可以找到这个文件的路径)

不然编译不通过!

然后开始编译 mysql 驱动~!

首先:

打开cmd, 进入到自己相应的qt/src/plugins/sqldrivers/mysql 目录下,这个下面有两个文件mysql.pro,一个mian.cpp!

 我的目录为:D:/Qt/qt/src/plugins/sqldrivers/mysql 

用文本编辑器打开该目录下的mysql.pro文件

在mysql.pro中加入:

INCLUDEPATH+="F:/phpserver/MySQL/include"

 LIBS+="F:/phpserver/MySQL/lib/opt/libmysql.lib"

保存并退出(即你的mysql的include 路劲和 lib 下 opt 的 libmysql.lib 路径)

编译 这个文件

          #qmake -o Makefile mysql.pro

          提示3条警告信息,但没影响

         #mingw32-make (这个网上有好几个编译命令 我的是用这个, 是用make);

然后你会发现 你的 qt 下这个 qt/plugins/sqldrivers 路劲下 多了四个文件 

分别为 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll

我的路径为 D:/qt/qt/plugins/sqldrivers 下

这样基本上就编译成功 ,可以使用 mysql 了 !~

最后安全起见再将 mysql下 bin 文件中libmysql.dll文件 拷贝到 system32 下面

然后测试:

新建一个qt gui application

然后把 main.cpp 文件更改

#include <QtGui/QApplication>#include <QtSql/QtSql>#include <QtLable>int main(int argc, char *argv[]) {QApplication app(argc, argv);QLabel *label = new QLabel;label->setWindowTitle("Qt Database");QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost");db.setDatabaseName("数据库名");db.setUserName("数据库登录用户名");db.setPassword("数据库登录密码");if (db.open()) {label->setText("Connected to database!");}else {label->setText("Connection fail!");}label->show();return app.exec();}
(网上随便找个 qt 连接mysql测试程序)

编译 运行


连接成功!

网上大多数的 连接教程都大同小异,但是有的说要把编译好的文件拷贝到你运行程序的目录下,同时也要拷贝libmysql.dll文件,

有的说是 要在 运行目录下 新建 一个二级目录  plugins/sqldrivers;

然后再在main 程序中加入此目录 即可!~~

不过之前都试过,对我的环境木有效果,如果我上述对你们木有效果,大家可以试试 其他的。。

配置就告一段落!~~

有问题在 讨论!~~

谢谢 各位了