|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本章节介绍如何将 sqlite3 移植到 ARM 开发板上,以及在开发板上用 C 语言操作 sqlite3,相关的配套资料在网盘资料“iTOP-i.MX6 开发板资料汇总(不含光盘资料)\08_iTOP-i.MX6 开发板 Linux 系统开发资料\25-QT 系统 Sqlite3 移植和使用”目录。操作源码下载地址:
( m. l3 b) i& J, r' G: I![]()
6 `) ~2 y+ S. n' L我们直接下载最新版(3.32.3 版本),我们把下载后的压缩包放在了文档目录底下:
0 a/ S/ C6 {, M 1 h0 {2 x ?' D5 a( p
1 将下载的压缩包 sqlite-autoconf-3320300.tar.gz 解压后创建安装目录 mkdir install,如下图所示:
F1 j4 o# u4 M: ]9 a7 K- W- r 4 |( O2 g. h; g! Z9 ]6 N! C" k! V! [
2 进 入 解 压 后 的 目 录 , 配 置 编 译 选 项 : ./configure --host=arm-none-linux-gnueabi0 {( y' C8 ~8 \8 b
--prefix=/home/topeet/iMX6Q/sqlite3/install/ 。. _: P: U0 o( ^7 Q. |+ C
--host: 指定交叉编译工具,和编译 Linux 的编译器一致。, P' |$ [3 A1 |5 k. w4 `2 K
--prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径6 ?* d' Z0 f& { A) V
- [% X, {7 @6 c# j# ?+ V
3 执行 make,完成后如下图所示:
0 G% w2 g5 o, h& D" }4 y$ f# z![]()
) N4 n6 a: d% `* Y( w n; h# Y3 执行 make,完成后如下图所示:7 Y% d: @+ W% w
* J; ]& ?- ]5 |, [; h
5 查看 install 目录下是否生成了需要的文件。
( h# V% f: _- ~6 q3 ~: G2 Z0 A![]()
7 p/ c2 f; i* ?( a, n6 将 lib 目录下的库文件拷贝到开发板的/lib/目录下,将 bin 目录下的 sqlite3 拷贝到开发板的/bin/目录下。
s5 }3 H& Q* n8 M2 ?7 在开发板的终端命令行输入 sqlite3,会进入如下图所示:
' j+ X" |1 v1 p7 ^3 |! J' p# ~# D![]()
* o w7 L0 U& s; G8 测试:, ^. ^8 { z1 _" p
1 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的 user 表,如图 83.9 所示:
5 V( X% v+ K; C4 ]" e9 H![]()
9 Z+ q, u) E( J* i% u; R2 创建.db 文件' t0 e. u& F. N" h3 p5 D0 Z% E
输入 sqlite3 /路径/文件名.db 操作完后一定要输入.databases。
( F/ i( H- l8 m( N$ A6 G" I 6 b; R6 Q! L) E
3 编写 C 代码测试:: Y; c4 ~* P" M) e6 }
现在数据库创建表,插入数据:( @: y+ g3 s! H7 b/ g9 R0 {
create table demo (id int,name char,age int);
, c0 \, D1 z; }6 \8 c5 {insert into demo values(100,'WangWu',23);! }! A* B4 @. d* g
insert into demo values(101,'Tommm',25);, }, y0 P3 v! O; r0 q9 {2 x
select * from demo;7 k9 {. @1 W6 ?( X
![]()
' d2 v) k+ B) ?" XC 代码如下,具体可参照目录下的 demo 源码
) w8 _& k0 e: e, @![]()
/ _) L/ R, |7 N输入如下命令交叉编译:arm-none-linux-gnueabi-gcc -I/home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql
! p& t: c5 Z/ ltestSql.c -lsqlite3 -ldl
4 u$ p% p R5 j" {8 ?-I 指定了 sqlite3.h 所在路径,; L0 e7 a1 t% }& M6 X9 Y; |
-L 指定 sqlite3 的 lib 库路径。5 ]7 I+ \$ [ D" M; t1 s
![]()
% W, }% A z& ? \. x将生成的可执行文件 sql 拷贝到开发板 root 目录下: I: Y$ {* D9 T9 S
执行后可看到查询结果:, |" \* F) A: P; c5 X+ x( \% _
![]()
! J; C3 [* K9 U3 k% b+ m2 N6 k; i至此 sqlite3 的移植和简单使用介绍结束。迅为IMX6Q开发板 k1 q( d# v% u0 h* B, G! t6 u" v
![]()
1 c. q: j: s# o" }6 r+ K1 z7 i" F |
|