EDA365电子论坛网

标题: 迅为IMX6开发板QT系统Sqlite3移植和使用 [打印本页]

作者: 阳阳天    时间: 2021-3-17 13:30
标题: 迅为IMX6开发板QT系统Sqlite3移植和使用
本章节介绍如何将 sqlite3 移植到 ARM 开发板上,以及在开发板上用 C 语言操作 sqlite3,相关的配套资料在网盘资料“iTOP-i.MX6 开发板资料汇总(不含光盘资料)\08_iTOP-i.MX6 开发板 Linux 系统开发资料\25-QT 系统 Sqlite3 移植和使用”目录。操作源码下载地址:
; G+ v8 G' N8 `* x0 D0 J
2 m0 @! |- O8 ~/ d, L& S& C, i我们直接下载最新版(3.32.3 版本),我们把下载后的压缩包放在了文档目录底下:# N; x1 ~$ A1 m
" d, K+ M( o# Q7 H
1 将下载的压缩包 sqlite-autoconf-3320300.tar.gz 解压后创建安装目录 mkdir install,如下图所示:
$ z/ r% E3 s5 F( o# L4 N/ q2 M, d5 ]1 F1 s( e' I
2 进 入 解 压 后 的 目 录 , 配 置 编 译 选 项 : ./configure --host=arm-none-linux-gnueabi5 [+ _" a: [! c* c% H8 M, a8 J
--prefix=/home/topeet/iMX6Q/sqlite3/install/ 。
% _. o8 J9 S4 U+ j/ c$ t$ Q--host: 指定交叉编译工具,和编译 Linux 的编译器一致。+ c0 i2 s5 J/ h+ {" N
--prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径8 \5 x# |+ j4 C; o; h
- A8 r! h' u/ ~' ^/ y8 d
3 执行 make,完成后如下图所示:. ?$ r) o; k' c, w: [' \
1 F0 O7 F  V" ~9 u0 e/ k
3 执行 make,完成后如下图所示:0 U+ g7 c/ G2 E1 H

7 U/ w" c, {5 q; H5 查看 install 目录下是否生成了需要的文件。- \, N2 o. \, R, x3 a6 L) d

6 B/ I. v& p5 e" P6 R' l& m$ ]- M6 将 lib 目录下的库文件拷贝到开发板的/lib/目录下,将 bin 目录下的 sqlite3 拷贝到开发板的/bin/目录下。
2 E9 j9 f  I8 H* z7 在开发板的终端命令行输入 sqlite3,会进入如下图所示:
, r8 b1 K) S1 c' u: U4 k; c
6 w* w- x3 O9 t& o9 g8 测试:
' o+ g3 }& h4 }5 N1 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的 user 表,如图 83.9 所示:
2 u  y7 s: h9 ?  C% b# m
$ y  [9 c& N/ @4 W2 创建.db 文件
" Y: X2 w; k/ Z: L8 y- z输入 sqlite3 /路径/文件名.db 操作完后一定要输入.databases。3 P+ n& A+ C+ I& t
7 o! H$ X0 \% V; o" ?, N2 p
3 编写 C 代码测试:. |- K" i$ v$ M  ?/ a3 O& I, @
现在数据库创建表,插入数据:
) M" |; i: I2 s% screate table demo (id int,name char,age int);( D' s" {7 k! \, d! }. _) q
insert into demo values(100,'WangWu',23);
2 i1 B1 g) E+ Y2 a$ W% einsert into demo values(101,'Tommm',25);
" m: ]! x2 q5 b7 O2 x" j2 ~! Dselect * from demo;
) i# D1 [( t0 c% [" c8 j; @; h, M& i$ J7 t+ \+ ~( r
C 代码如下,具体可参照目录下的 demo 源码; @; e% t! I- |* J5 z

+ V" Y9 r/ {9 G: J" M0 h, ~6 E输入如下命令交叉编译:arm-none-linux-gnueabi-gcc -I/home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql
, n: J& g5 e8 y. |! ytestSql.c -lsqlite3 -ldl
+ b8 C0 ]# g" J& {: G" Z-I 指定了 sqlite3.h 所在路径,0 {. b5 v6 p+ D
-L 指定 sqlite3 的 lib 库路径。2 ~7 K$ [5 O$ Q8 g
3 f' I/ h  b2 T  a& @1 d1 d7 O
将生成的可执行文件 sql 拷贝到开发板 root 目录下
4 U% t0 t5 Z% b# P, p! _, b  X执行后可看到查询结果:
- x7 F8 m! Z5 ^6 h  K6 J0 o% g* n* r) a& _
至此 sqlite3 的移植和简单使用介绍结束。迅为IMX6Q开发板
+ a: f7 @, N3 ~! D3 z4 \: }$ q2 i5 f* v9 H, t7 I' n6 o

作者: ldezgr    时间: 2021-3-20 10:23
很棒帮哦,加油




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2