【Remi Pi】嵌入式Linux开发板QSqlDatabase:QSQLITE driver not loaded问题

书接上回,想在以上可以通过qt界面将传感器数据解析并显示在屏幕的功能基础上加入数据库的功能,为后续服务器做准备,了解到嵌SQLite 是一个嵌入式SQL 数据库引擎。正好手头的Remi Pi开发板也支持sqlite,所以准备实现将传感器数据存储到sqlite数据库中。

首先开始是最朴素的思维,调用qt的qsql相关的库函数加入建立数据库插入数据,修改好后在Ubuntu虚拟机上交叉编译之后也没有问题,但是下载到开发板运行时报了以下的错误

报错说的是QSLITE的驱动找不到,然后我就开始查,查到的比较靠谱的一个回答说是要把sqldrivers的项目文件夹放在可执行目录下

https://blog.csdn.net/no_say_you_know/article/details/123782107

还有说要修改这句的

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE", "SQLITE");

https://stackoverflow.com/questions/5151279/qsqlite-driver-not-loaded-where-to-put-qt-database-driver-plugins

但是我都试过了没有效果,后来转过来一想我在Ubuntu上交叉编译没有问题,所以自然上面的解决办法不奏效,顺着这个思路的话那只能是开发板的问题咯。然后我就去找米尔的技术支持,经过询问才知道原来我开发板的full镜像qt不包含Qsql这个库,啊这。。。。。。

(不是哥们你文档里也妹写啊,我要是不问技术支持真就一辈子都不到啊)

而且如果想要增加Qsql这个库需要yocto重新构建镜像麻烦得很,这个时候还得是技术支持,他建议我可以用sqlite的api代替Qsql库,我当时就感觉好有道理,因为我知道开发板的镜像是有sqlite的,而我实现的功能都是对于数据库的建立插入等数据,所以只是两种不同的途径。

我就开动了,查了一下sqlite的用法,对cpp小改了一下

改完之后交叉编译上板子,橙啦!

最后感觉这个问题很小众网上基本没有解决办法,而且也是在技术支持的帮助下才得以解决,所以记录一下希望帮到遇到类似问题的朋友。

另外在查资料的过程中看到了一篇总结qt中sqlite问题的帖子,po在下面有需要的也可参考

https://www.cnblogs.com/findumars/p/4207133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值