找回密码
 注册
关于网站域名变更的通知
查看: 460|回复: 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 e: a; D  b9 n7 W( A% J. _5 R7 O: C+ j& P* }7 E# o
我们直接下载最新版(3.32.3 版本),我们把下载后的压缩包放在了文档目录底下:
+ d1 I8 o7 k) u% m# E) C
, c) Q# F& {2 s5 W% P5 b1 将下载的压缩包 sqlite-autoconf-3320300.tar.gz 解压后创建安装目录 mkdir install,如下图所示:
( J9 b! ~- K( c" \1 W  _
4 y# L$ M- A  v' v0 I* f2 F. R2 进 入 解 压 后 的 目 录 , 配 置 编 译 选 项 : ./configure --host=arm-none-linux-gnueabi3 r; i8 E1 s% J! }& u1 J
--prefix=/home/topeet/iMX6Q/sqlite3/install/ 。) x* a7 D  ]/ `; ?- J
--host: 指定交叉编译工具,和编译 Linux 的编译器一致。" [+ k7 {; x6 r. o; d, u5 ~
--prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径# o1 ]  q4 v6 }8 U4 P3 \# ]4 @

% n" U, ]# }" _/ c% A" [' S( j9 j3 执行 make,完成后如下图所示:
6 T8 a% B# R5 K
. s8 F  g5 o- g4 G& L" o0 C3 执行 make,完成后如下图所示:
0 T+ ]9 u4 \- Z# |+ C" n
0 L6 O+ \5 p" _1 U5 查看 install 目录下是否生成了需要的文件。
% o" Z  P3 }, c
# X: p" D; c* m* {# p: D6 将 lib 目录下的库文件拷贝到开发板的/lib/目录下,将 bin 目录下的 sqlite3 拷贝到开发板的/bin/目录下。
% l) g+ w4 O# o7 K7 在开发板的终端命令行输入 sqlite3,会进入如下图所示:
' C4 p+ f- W9 M" r& q/ q8 j( d+ w& c. y- N5 }1 ?
8 测试:
$ p* E- Q# w" T! Q$ Y  n' F1 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的 user 表,如图 83.9 所示:4 Z$ g! R+ R- }& g

; R3 X8 C* f# X: p2 创建.db 文件0 E. ?0 e# H; M" {& O6 z
输入 sqlite3 /路径/文件名.db 操作完后一定要输入.databases。8 Y$ l1 f2 g: T$ h; k; M
" G, s  ~+ }# k. }0 h
3 编写 C 代码测试:
" n/ j% e9 w# @$ f+ j0 r" ^现在数据库创建表,插入数据:
/ h0 W) i( x. S- Kcreate table demo (id int,name char,age int);8 j$ o! F# x% c, Q
insert into demo values(100,'WangWu',23);+ \, Q8 \/ k; b
insert into demo values(101,'Tommm',25);
# ?& w  B/ S. x. S8 N: f; ~: Gselect * from demo;- {9 f# R' i, J; D" l1 w6 n- ^- `

: c& S/ l7 r, Q6 C& o. q5 HC 代码如下,具体可参照目录下的 demo 源码) Q/ G% U, ~1 O" ~) Z

" H+ ?* ]# J3 @/ G& U输入如下命令交叉编译:arm-none-linux-gnueabi-gcc -I/home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql" [3 l$ U( x' `+ L; q0 O
testSql.c -lsqlite3 -ldl( V3 z& r7 H8 o3 p. \* \: l
-I 指定了 sqlite3.h 所在路径,0 {& S+ t3 o) \( {' V7 O
-L 指定 sqlite3 的 lib 库路径。
/ T: X$ O+ _( J: {9 y
  U; N4 z4 N! R+ c( `将生成的可执行文件 sql 拷贝到开发板 root 目录下7 E2 I0 J  d1 x8 }1 u% i% i
执行后可看到查询结果:
; |! ?5 y( H% M/ T5 Z2 s( B9 i* R& ]$ r/ g, Q
至此 sqlite3 的移植和简单使用介绍结束。迅为IMX6Q开发板
+ c/ Q, i1 ^0 u7 l6 X: r! X) {, M5 u8 c. F9 s
  • 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 14:22 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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