64位Arm Lubuntu上编译Qt MySQLl驱动

4 篇文章 0 订阅

                             64位Arm处理器 Lubuntu上编译Qt MySQL驱动

1.安装MySQL

sudo apt-get install libmysqlclient-dev

如果安装失败,尝试更新下源

sudo apt-get update

安装mysql的目的是编译的过程中会用的mysql的库和头文件

2.Qt源码下载,地址如下

http://download.qt.io/archive/qt/5.2/5.2.0/single/

3.编译

由于我的Qt已经安装完成,但是没有mysql驱动,所以单独编译mysql驱动即可。

mysql驱动在Qt源码中的位置如下

qt-everywhere-opensource-src-5.2.0/qtbase/src/plugins/s
qldrivers/mysql

  • 生成Makefile文件

qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro

 

报错找不到arm-linux-gnueabi-g++,这是因为实际使用的是64的g++

  • 直接修改Makefile文件

把文件中几处g++都修改掉

修改后保存直接make

  • 执行make命令后生成了驱动文件

生成文件所在路径

只需要把文件放在安装的Qt库文件路径下就可以了,我的文件路径为

/usr/local/Qt5/plugins/sqldrivers/

4.编译好的驱动下载地址

https://download.csdn.net/download/maowendi/10731090

5.测试例程下载

https://download.csdn.net/download/maowendi/10730150

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtSql>
#include <QSqlDatabase>

#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    qDebug() << "Available drivers:";
             QStringList drivers = QSqlDatabase::drivers();
             foreach(QString driver, drivers)
                 qDebug() << "\t "<< driver;
          qDebug() << "End";
          QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
          db.setPort(3306);
          db.setHostName("172.20.149.212");        //数据库IP
          db.setDatabaseName("school");            //数据库名
          db.setUserName("root");                  //数据库用户名
          db.setPassword("12345678");              //密码

          if(!db.open()){
             qDebug()<<db.lastError();
          }
          else{
              qDebug() << "\nConnected " << "OK";
          }

          QSqlQuery query;
          query.exec("select * from student");
          while(query.next()){
              QString name = query.value(0).toString();
              QString id = query.value(1).toString();
              QString age = query.value(2).toString();
              QString grade = query.value(3).toString();
              QString score = query.value(4).toString();
              qDebug()<<"name:"<<name<<"ID:"<<id<<"age:"<<age<<"grade:"<<grade<<"score:"<<score;
          }

}

MainWindow::~MainWindow()
{
    delete ui;
}

运行效果如下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值