**
ARM开发板下Qt实现中文输入法的波折历程
**
在移植软键盘输入法时候,如果用到中文输入法一定会用到数据库,移植的Qt工程运行时如果碰到如下error,一定要看看我的文章,对你会有所帮助!!!
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
Database error: QSqlError(-1, “Driver not loaded”, “Driver not loaded”)
QSqlError(-1, “Driver not loaded”, “Driver not loaded”)
网上有好多关于此的解决办法,经过多番尝试,最终仍未成功!!!
经过自己多天的研究,最终解决这一问题,故此分享给大家,希望碰到类似问题的人可以少走弯路.
目标机: IMIX6
PC机: Ubuntu 18.04
第一步:配置交叉编译环境 (教程有很多,就不赘述了!)
测试
$: arm-linux- +
会弹出很多例如
arm-linux-gnueabihf-gcc
arm-linux-XXXX
等等
查看版本:
$: arm-linux-gnueabihf-gcc -v
有信息返回,证明搭建完成.
第二步:搭建Qt(同样不赘述了)
直入正题吧:编译qt工程需要 qmake && make 两步
先看看我的Qt配置
$: qmake -v
QMake version 3.0
Using Qt version 5.5.1 in /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib
编译好的可执行文件放到目标机上运行弹出下列警告,不要慌
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
Database error: QSqlError(-1, “Driver not loaded”, “Driver not loaded”)
QSqlError(-1, “Driver not loaded”, “Driver not loaded”)
提示意思是Qt运行所需要的数据库驱动有问题.
接下来需要找到我们的Qt源码包,qt-everywhere-opensource-src-5.5.1
可以去Qt官网下载.
PC机下操作:
$: cd /home/qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/sqldrivers
$: ls
db2 Makefile oci psql README sqlite tds
ibase mysql odbc qsqldriverbase.pri sqldrivers.pro sqlite2
$: cd sqlite
$: qmake && make
moc smain.cpp
compiling smain.cpp
compiling …/…/…/sql/drivers/sqlite/qsql_sqlite.cpp
compiling …/…/…/3rdparty/sqlite/sqlite3.c
moc …/…/…/sql/drivers/sqlite/qsql_sqlite_p.h
compiling .moc/moc_qsql_sqlite_p.cpp
rm -f libqsqlite.so
linking …/…/…/…/plugins/sqldrivers/libqsqlite.so
mv -f libqsqlite.so …/…/…/…/plugins/sqldrivers/
弹出如上提示,证明编译完成,将
/home/qt-everywhere-opensource-src-5.5.1/qtbase/plugins/sqldrivers目录下的libqsqlite.so拷贝的目标机的qt5/plugins目录下的sqldrivers目录下即可解决驱动 确实问题.
root@ALIENTEK-IMX6U:~/demo# ./InputTool
Available:::
“QSQLITE”
("/home/root", “/usr/lib/qt5/plugins”, “/home/root/demo”) applicationDirPath: “/home/root/demo”
————————————————
版权声明:本文为CSDN博主「hxq3210」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42753823/article/details/103804621