欢迎使用CSDN-markdown编辑器

本文介绍了在嵌入式ARM开发板EasyArm-Imx283上移植和使用QT自带的QSqlite数据库的过程。通过重新编译QT,将sqlite驱动编译进QtSql库,解决了板子无法识别数据库驱动的问题。随后,将编译后的QT库复制到开发板,利用TF卡存储以解决空间不足的难题,并处理了字体和其他相关问题。
摘要由CSDN通过智能技术生成

在嵌入式ARM开发板EasyArm-Imx283下移植使用QT自带的QSqlite


最近开发手头上的周立功的EasyArm-Imx283开发板,需要用到一些数据的存取,由于懒得自己建立文件数据管理体系,于是想到使用QT自带的轻量级数据库QSqlite。
按照相关资料在上位机上进行开发,一切正常,但是在下载到开发板后,直接报错退出,错误提示如下:

QSqlDatabase: QSQLITE driver not loaded                                         
QSqlDatabase: available drivers: 

在网上搜索相关问题后,发现按照网上的做法,即使拷贝了sqldrivers目录到板子后,在283板子上也没有效果。
于是只好自行想办法解决了:

1. 重新编译QT

首先, QSqlDatabase: available drivers:这句提示的冒号后面是空的,表明QT根本就没有识别到有数据库的驱动,很多网上有问题的人后面都有“SQLITE”,“MYSQL”等字段,说明他们的板子是可以识别驱动,只是有别的问题。

不用理会别人的问题,还是从我手里的板子本身入手查找问题,因为板子上的QT库是出厂自带的,所以我并不清楚其编译时使用的命令,因此无法识别驱动有可能是被编译成了不带驱动的形式,或者其他未知的问题。

在qt-everywhere-opensource-src-4.7.3.tar.gz解压目录下,输入./configure -help,有如下的几句话:

    -no-sql-<driver> ... Disable SQL <driver> entirely.
    -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default
                         none are turned on.
    -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
                         at run time.

                         Possible values for <driver>:
                         [  db2 ibase mysql oci odbc psql sqlite sqlite2 sqlite_symbian tds ]

如果在./configure后面加入-no-sql-<driver>命令则将禁止driver标明的驱动,-qt-sql-<driver>将会把对应的驱动直接加载在QtSql库中,-plugin-sql-<driver>将会把驱动编译为运行时加载的插件。

我为了方便使用了第二条命令,直接把sqlite驱动编译进了QtSql库中,命令为:-qt-sql-sqlite

即在周立功《嵌入式Linux开发教程 (上册)》中的移植Qt篇中的configure命令里添加此命令,下面是完整的bulid-qt文件内容,如果没有此文件,在与configure文件同目录下生成一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值