找回密码
 注册
关于网站域名变更的通知
查看: 462|回复: 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 移植和使用”目录。操作源码下载地址:
; f" g7 A  G2 H! Y3 s) b- k7 ^( ?8 h  q! \
我们直接下载最新版(3.32.3 版本),我们把下载后的压缩包放在了文档目录底下:
) _0 g1 O) _4 ]5 }- B- V! H4 C% Q, {& W/ k
1 将下载的压缩包 sqlite-autoconf-3320300.tar.gz 解压后创建安装目录 mkdir install,如下图所示:# r' q, x, l* Q; D8 J

& i! Q3 q6 J' B2 N2 进 入 解 压 后 的 目 录 , 配 置 编 译 选 项 : ./configure --host=arm-none-linux-gnueabi& p: F+ i6 `. M7 S. o% l' I  }+ v
--prefix=/home/topeet/iMX6Q/sqlite3/install/ 。" p( y3 g9 s3 \) j* `( T' P& u
--host: 指定交叉编译工具,和编译 Linux 的编译器一致。( ?+ o' D: f- e& \$ x. [
--prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径' }" ^2 N  t4 w: s3 b7 I: `9 R

8 T- j" k: q& ^( n9 ^4 \3 执行 make,完成后如下图所示:
% M( t- T" b3 W- ?: J3 M  S6 ~) H2 L0 W1 |4 _: H: D/ s7 \" n
3 执行 make,完成后如下图所示:) }( \- ~5 E% }3 U  V
4 P- _) K9 t" f) C4 g: n% R: S
5 查看 install 目录下是否生成了需要的文件。
  K" [: J# f0 c* h" D7 ^9 [! B5 z$ m. A) [3 C/ u( q0 ?: r
6 将 lib 目录下的库文件拷贝到开发板的/lib/目录下,将 bin 目录下的 sqlite3 拷贝到开发板的/bin/目录下。
) ^( U' Q8 K' I# A7 在开发板的终端命令行输入 sqlite3,会进入如下图所示:6 k8 ~" N& u9 q9 P: n5 W* j3 \
. c" R' g* F1 r) a) `4 O
8 测试:
$ v9 a4 T' D6 G5 r1 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的 user 表,如图 83.9 所示:$ V3 Z3 {" {* }: Y- |" k  u
4 @' Q5 g5 x2 S) q  _1 B7 }& |
2 创建.db 文件8 g+ c& D1 b* O7 J% y! j: Q
输入 sqlite3 /路径/文件名.db 操作完后一定要输入.databases。
5 x. S, }1 J  i8 ^" N$ n9 A3 b( o" y
3 编写 C 代码测试:
* [* g% c8 f$ h现在数据库创建表,插入数据:" q3 v; F- h9 q: F
create table demo (id int,name char,age int);
0 m3 ~( t! {# Q1 r: [" i3 cinsert into demo values(100,'WangWu',23);
4 d: \" h' N- a9 Y+ @5 finsert into demo values(101,'Tommm',25);* {& R( M0 c& \7 F
select * from demo;& o( E/ r: a6 Q
# ]5 v2 }; U. g
C 代码如下,具体可参照目录下的 demo 源码, a7 S: s/ ^! v& Q4 J- @$ D% s
9 Q. P  _. {- a. |" ~4 C
输入如下命令交叉编译:arm-none-linux-gnueabi-gcc -I/home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql$ _6 y! c! U- ~
testSql.c -lsqlite3 -ldl; J. C" q& r" H$ Y3 V2 i
-I 指定了 sqlite3.h 所在路径,6 V! Z( ~( Y; R# H- ^
-L 指定 sqlite3 的 lib 库路径。$ E, C1 H7 ]5 L1 ^" L# k
4 s. Z3 e! f, u  g# _6 n- U
将生成的可执行文件 sql 拷贝到开发板 root 目录下- ~3 s, A, S% n9 y6 Y
执行后可看到查询结果:
, y" V; k" d3 c. V( R0 s& p: z
2 a3 W0 [$ [2 S- g至此 sqlite3 的移植和简单使用介绍结束。迅为IMX6Q开发板+ s, H1 R( k2 f% ]
6 E! e" o1 r. O7 k: b
  • 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-11-24 15:19 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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