Windows xp 下编译qt的mysql驱动

5 篇文章 0 订阅

mysql 5.0.22版本

qt-sdk-win-opensource-2010.02.1.exe

以上软件我都是安装在D盘下,分别是:D:\mysql ,和D:\QT4

 

下面是编译的过程:

 

1.         使用reimp生成libmysql.a

下载mingw-utils

注:mingw-utils 下载地址:http://www.qtcn.org/download/mingw-utils-0.3.tar.gz,然后把bin目录下的文件都拷贝到D:\QT4\mingw\bin目录下

 

MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库

 

a)         打开dos命令行,进入到D:\mysql\lib\opt,输入命令reimp -d libmysql.lib,回车,运行

b)        接着输入dlltool -k -d LIBMYSQL.def -l libmysql.a,回车,运行,这样在目录D:\mysql\lib\opt下就生成了libmysql.a文件

注:要运行reimp命令和dlltool命令,需要把对应的目录QT4\mingw\bin加到环境变量中(在命令行中直接输入reimpdlltool,就可以查看各自的用法)



 

2.         编译mysql驱动

a)         运行Qt-command-prompt(在开始菜单中)

进入目录D:\QT4\qt\src\plugins\sqldrivers\mysql,输入命令qmake -o Makefile "INCLUDEPATH+=D:\mysql\include" "LIBS+=D:\mysql\lib\opt\libmysql.a" mysql.pro,回车,运行(INCLUDEPATH表示mysql源文件目录)

b)        接着输入mingw32-make,回车,运行进行编译

c)         最后在D:\QT4\qt\plugins\sqldrivers目录下生成四个文件,分别是libqsqlmysql4.alibqsqlmysqld4.aqsqlmysql4.dllqsqlmysqld4.dll

 


最后编写一个简单的测试程序:

#include <QtGui/QApplication>

#include <QtGui>

#include <QtSql>

 

bool createConnection()

{

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

 

    db.setDatabaseName("test");\\数据库名称

 

    db.setUserName("root");\\数据库用户

 

    db.setPassword("123456");\\密码

 

    bool ok = db.open();\\建立数据库连接

    if(!ok){

        QMessageBox::critical(0,QObject::tr("连接数据库失败!!!"),db.lastError().text());

        return false;

    }else{

        QMessageBox::information(0,QObject::tr("Tips"),QObject::tr("连接数据库成功!!!"));

        return true;

    }

 

}

int main(int argc, char *argv[])

{

    QApplication a(argc, argv);

 

    QTextCodec *codec = QTextCodec::codecForName("GB2312");

    QTextCodec::setCodecForLocale(codec);

    QTextCodec::setCodecForCStrings(codec);

    QTextCodec::setCodecForTr(codec);

    if(!createConnection())

        return 1;

    return a.exec();

}


 

结果:


 

 

如果出现了错误:QMYSQL driver not loaded,把libmysql.dll对应的目录(mysql/lib/),加到环境变量中。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值