找回密码
 注册
关于网站域名变更的通知
查看: 459|回复: 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 移植和使用”目录。操作源码下载地址:4 f, Z: V( S9 a/ j/ Z

7 Q- d- C# O8 \) o1 Q8 o' e我们直接下载最新版(3.32.3 版本),我们把下载后的压缩包放在了文档目录底下:
$ k" {* g5 _4 Y- c" q* _$ M4 d$ |9 K% L3 h% x
1 将下载的压缩包 sqlite-autoconf-3320300.tar.gz 解压后创建安装目录 mkdir install,如下图所示:) F! h# O% B- d9 j/ |- P' T; ^. V
4 v6 t4 I. J" _: i( J6 b9 ]
2 进 入 解 压 后 的 目 录 , 配 置 编 译 选 项 : ./configure --host=arm-none-linux-gnueabi
% g2 z/ f, C3 f/ F9 @1 |; `--prefix=/home/topeet/iMX6Q/sqlite3/install/ 。* ?. R  p1 {; d
--host: 指定交叉编译工具,和编译 Linux 的编译器一致。
0 @1 W* A0 Y& P4 e8 A--prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径9 Q7 L4 Y# `$ C5 N* d, K
, J3 D% U3 b+ G
3 执行 make,完成后如下图所示:
- E7 K* G0 D, S/ G6 n6 Y& N/ D) {* E
3 执行 make,完成后如下图所示:
2 r# H5 A1 \' X( w% `+ }
8 o5 u. m4 _; m3 z5 查看 install 目录下是否生成了需要的文件。4 S9 v- Z2 T; |* m
- Z7 \: n2 t+ @  U+ b! P
6 将 lib 目录下的库文件拷贝到开发板的/lib/目录下,将 bin 目录下的 sqlite3 拷贝到开发板的/bin/目录下。, N1 f% J; R' D0 Q. f
7 在开发板的终端命令行输入 sqlite3,会进入如下图所示:" \, U& \3 [5 o5 D& C, H  e( o& Z. o0 @
" F6 Q" j6 k* k9 I7 \# c7 }+ l" E, E
8 测试:
5 J8 c1 y# V6 o' ~- P& T1 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的 user 表,如图 83.9 所示:! V3 Y* {9 x* t* W

, a4 ?$ f# b3 N. q/ n9 \7 B7 C2 \2 创建.db 文件2 |& d8 @6 @! v2 y( x
输入 sqlite3 /路径/文件名.db 操作完后一定要输入.databases。6 l4 |6 v* C+ o+ q8 M
0 g+ j. C7 p8 f" L+ |+ v
3 编写 C 代码测试:: A% g% n  [4 H/ D0 ~" X
现在数据库创建表,插入数据:( H7 T* |2 R- N6 y: C
create table demo (id int,name char,age int);# S) L) B) H0 h  F
insert into demo values(100,'WangWu',23);' I! F! I( N) X/ a, L9 _. k
insert into demo values(101,'Tommm',25);' a) A3 |$ F: H' G% h
select * from demo;9 V6 `# t% R; J9 i! w& I+ \- O4 G  g
) x8 l9 G4 c" Z: ?7 g
C 代码如下,具体可参照目录下的 demo 源码% o& Y# k9 Z& r& x
# ]$ L' W2 I: T
输入如下命令交叉编译:arm-none-linux-gnueabi-gcc -I/home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql
  D/ g) h. f$ i- W' |/ ItestSql.c -lsqlite3 -ldl) G( k. h* d1 u2 T- X
-I 指定了 sqlite3.h 所在路径,
" A- W; `% U+ Q! c- A2 c. D-L 指定 sqlite3 的 lib 库路径。
& Y/ b' o/ K, f+ v; ^: a; Y7 M
* B1 `& a  x& l- C将生成的可执行文件 sql 拷贝到开发板 root 目录下
9 f; N4 x4 A2 j9 @# o" |% h  n9 X* g执行后可看到查询结果:
+ p/ b( D( r- Z+ S! f" `" E) i
6 L  E. }0 ?. @, w至此 sqlite3 的移植和简单使用介绍结束。迅为IMX6Q开发板! f5 j- w( ^# ]5 T0 {
& k+ Y/ M( q5 z8 X. ?( t' X6 `
  • 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 13:02 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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