yocto中默认编译出来的qt是不带有sql driver,即缺少插件库libqsqlite.so。
修改位置:
1.在xx/meta-qt5/recipes-qt/qt5/qtbase_git.bb中,修改qtbase配方中QT_CONFIG_FLAGS,添加-plugin-sql-sqlite。这是根据单独交叉编译Qt5时,如果需要sqlite插件QSQLITE driver,需要添加配置选项-plugin-sql-sqlite来修改的。
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index ef415d9..ad4d112 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -179,6 +179,7 @@ QT_CONFIG_FLAGS += " \
${QT_CONFIG_FLAGS_GOLD} \
-shared \
-silent \
+ -plugin-sql-sqlite \
-no-pch \
-no-rpath \
-pkg-config \
2.在conf/local.conf中添加:
PACKAGECONFIG_append_pn-qtbase = " sql-sqlite"
修改完成后重新编译,在编译出来的镜像中即可找到库libqsqlite.so。
位置:rootfs/usr/lib/plugins/sqldrivers/libqsqlite.so,不同的平台及版本位置略有不同。
注:这两处要同时修改,我这种修改方式感觉不是最优的修改,如果您有更优化的修改,欢迎评论区指出。