找回密码
 注册
关于网站域名变更的通知
查看: 391|回复: 1
打印 上一主题 下一主题

迅为IMX6开发板QT系统Sqlite3移植和使用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-3-17 13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本章节介绍如何将 sqlite3 移植到 ARM 开发板上,以及在开发板上用 C 语言操作 sqlite3,相关的配套资料在网盘资料“iTOP-i.MX6 开发板资料汇总(不含光盘资料)\08_iTOP-i.MX6 开发板 Linux 系统开发资料\25-QT 系统 Sqlite3 移植和使用”目录。操作源码下载地址:
2 f. M4 k% c0 j2 M# g  {% }2 Z1 J4 i2 |. Z$ K- F) }
我们直接下载最新版(3.32.3 版本),我们把下载后的压缩包放在了文档目录底下:* {( O8 w) A# [+ i. F* p

2 Z  t3 ~) i) J* h1 将下载的压缩包 sqlite-autoconf-3320300.tar.gz 解压后创建安装目录 mkdir install,如下图所示:
, M2 a$ w% `, M7 r" A% j
( D+ M3 T9 D: L. ]* Z  G* I. U2 进 入 解 压 后 的 目 录 , 配 置 编 译 选 项 : ./configure --host=arm-none-linux-gnueabi( l3 X4 d8 ?' ?$ [, A& s3 s. q
--prefix=/home/topeet/iMX6Q/sqlite3/install/ 。
8 F- k- p) W, Q, @' f& K, S1 x--host: 指定交叉编译工具,和编译 Linux 的编译器一致。
' I3 p8 G9 s6 f; l, q0 z--prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径
( Z% \8 M1 T; n1 P) ^3 Z1 A" N( u- O9 @
3 执行 make,完成后如下图所示:
: P4 S% g3 D8 C4 P) `! ^7 Y& ^2 Y! S" F% p" G5 H
3 执行 make,完成后如下图所示:
! h0 b% V- l; u# l3 I5 h! b1 q3 V+ b. y3 Z# s* D
5 查看 install 目录下是否生成了需要的文件。
5 h4 A8 u2 D4 U! j+ }% y$ v+ c9 Z4 J) k% F! }% a
6 将 lib 目录下的库文件拷贝到开发板的/lib/目录下,将 bin 目录下的 sqlite3 拷贝到开发板的/bin/目录下。. s. |" |1 n; P. C$ M6 Z$ u; `
7 在开发板的终端命令行输入 sqlite3,会进入如下图所示:
% Q% s/ Z7 u$ P# G
! O: Q0 Z0 {) P' P! z& ]5 j8 测试:9 ^. K; h( S5 `% e- Z
1 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的 user 表,如图 83.9 所示:
7 q* V- s3 h% |+ ~& G- Y. X# H1 ?" a( n6 A! l
2 创建.db 文件: Z9 c3 f, P5 N4 K" C, Z
输入 sqlite3 /路径/文件名.db 操作完后一定要输入.databases。, ^; [4 g+ O" e4 t3 f& \
6 e4 }/ [9 I+ P& l  d
3 编写 C 代码测试:
4 I% P! {% A2 C+ i" A现在数据库创建表,插入数据:
+ U8 N9 h8 }& z2 D& ncreate table demo (id int,name char,age int);* Z: c8 B4 G" O4 i1 K( Y% h
insert into demo values(100,'WangWu',23);
/ m. B: H: b  u. w: W4 _8 binsert into demo values(101,'Tommm',25);
) u$ Y  D$ c4 E3 \# e9 F- Vselect * from demo;3 ?% V6 b1 [. j5 Q- L- m
) N1 q7 W( H$ ]5 b
C 代码如下,具体可参照目录下的 demo 源码
" V0 H5 [& ]) k4 u2 x% X0 G$ w/ B- s2 K3 T
输入如下命令交叉编译:arm-none-linux-gnueabi-gcc -I/home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql
; G+ _3 I5 g# H; xtestSql.c -lsqlite3 -ldl
. \4 o, V) G+ L" w& J-I 指定了 sqlite3.h 所在路径,
: k. |# t- X  j& y8 @-L 指定 sqlite3 的 lib 库路径。" Q5 ]+ ^) Z; Z% m, n0 O

4 G# o( f2 X1 q0 j+ u3 f0 f将生成的可执行文件 sql 拷贝到开发板 root 目录下
5 v; [$ h: y; y+ U. K% \* \执行后可看到查询结果:
7 J7 T; K& u3 K& X: m5 q) a+ j0 F. `
9 q. ]  J( m# h. |至此 sqlite3 的移植和简单使用介绍结束。迅为IMX6Q开发板2 o5 `) `5 H, I: g- B" T
' W' U; B4 V, S! B9 G
  • TA的每日心情
    奋斗
    2025-1-1 15:26
  • 签到天数: 584 天

    [LV.9]以坛为家II

    2#
    发表于 2021-3-20 10:23 | 只看该作者
    很棒帮哦,加油
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-24 01:45 , Processed in 0.078125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表