找回密码
 注册
关于网站域名变更的通知
查看: 457|回复: 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 移植和使用”目录。操作源码下载地址:& v4 x( o+ B# u, I# g

9 W! a' o9 D% b) k! ?. T我们直接下载最新版(3.32.3 版本),我们把下载后的压缩包放在了文档目录底下:) {1 C: L) k9 w1 d) h  v
* l+ Q  d5 {6 E" j- y
1 将下载的压缩包 sqlite-autoconf-3320300.tar.gz 解压后创建安装目录 mkdir install,如下图所示:2 P2 ?" F5 Z/ Z) P/ u

" J" p$ Q; o  r5 ^  V# S* s2 进 入 解 压 后 的 目 录 , 配 置 编 译 选 项 : ./configure --host=arm-none-linux-gnueabi
1 Y8 s. I& T6 t1 i) g5 o4 Y' b--prefix=/home/topeet/iMX6Q/sqlite3/install/ 。
$ V- Z* d# C7 B) _--host: 指定交叉编译工具,和编译 Linux 的编译器一致。  i& @3 j. a" M# j8 e, f
--prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径
/ @* c. z3 g" o
/ i, H6 {% S7 ~( ~2 C3 执行 make,完成后如下图所示:
5 C$ V1 `9 j# d6 m! y! r- Z1 {5 P" p1 J1 |6 s( [+ H
3 执行 make,完成后如下图所示:& p6 y$ ?7 ?) j' y+ {' E4 h9 s
' I' G; L8 B" w" M$ t- [+ L
5 查看 install 目录下是否生成了需要的文件。
4 {; b2 O$ e- D4 m( `/ q1 ^$ r5 ~' Y0 s( e$ o$ s
6 将 lib 目录下的库文件拷贝到开发板的/lib/目录下,将 bin 目录下的 sqlite3 拷贝到开发板的/bin/目录下。
+ n; i$ D* t$ m* \7 在开发板的终端命令行输入 sqlite3,会进入如下图所示:
) H$ M$ ~% A' W. `4 u- T* U! e0 [) R) X- q, h) T2 X
8 测试:
( I5 I. x) ?6 z! z  f7 b) Q1 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的 user 表,如图 83.9 所示:# n# |# r1 w7 n( m# Q0 L7 P

$ \( I+ P6 Z: ^3 C1 T2 创建.db 文件
4 {  [- Z3 q5 o( @+ h0 j输入 sqlite3 /路径/文件名.db 操作完后一定要输入.databases。
- F8 B! M9 T+ O) h) R) J' |
" }# L: D4 @  I% u6 W3 编写 C 代码测试:* `) H  H- E+ ^) }% ?, W; [6 }3 \
现在数据库创建表,插入数据:
4 u1 I, e7 I" [9 ~% g: i) ^* ^" Gcreate table demo (id int,name char,age int);
6 L- k9 f1 ]8 o3 Q3 E! ?insert into demo values(100,'WangWu',23);
4 h- _) m4 h9 F! l. F1 o: Finsert into demo values(101,'Tommm',25);
6 E9 m7 {4 u. ~select * from demo;& w! F* Q- j4 J. E

$ H: W: }: W% Y, d3 O5 J7 YC 代码如下,具体可参照目录下的 demo 源码/ f) j; r/ n% h6 R

# n1 B& t( N4 S& W+ m* O; Q4 R输入如下命令交叉编译:arm-none-linux-gnueabi-gcc -I/home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql
+ o* Y* ]+ l9 S+ F2 z1 c+ QtestSql.c -lsqlite3 -ldl
! [9 C) _3 r/ p1 A! I) V) o-I 指定了 sqlite3.h 所在路径,* X: d4 u3 L' {& [' `. c
-L 指定 sqlite3 的 lib 库路径。; h+ c9 g4 b8 Y7 F) u
; h/ l9 E% G* o! f
将生成的可执行文件 sql 拷贝到开发板 root 目录下0 v2 {% K  c6 f  s5 @, i
执行后可看到查询结果:
0 q1 d, f8 _+ D4 z. l9 a3 H3 h$ t& k% _. K) g2 \( i) X
至此 sqlite3 的移植和简单使用介绍结束。迅为IMX6Q开发板; V0 G( w8 u% }. C8 H& t
/ L( H, y& C( S" [$ i- [( q! f
  • 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 12:24 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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