本篇介绍如何将sqlite3移植到 ARM开发板上,以及在开发板上用 C语言操作sqlite3,操作源码下载地址:https://www.sqlite.org/download.html,我们直接下载最新版(3.32.3版本),我们把下载后的压缩包放在了文档目录底下: 
解压后创建安装目录 mkdir install:

进入解压后的目录,配置编译选项:
[backcolor=rgba(0, 0, 0, 0.03)]./configure --host=arm-linux-gnueabihf --prefix= [backcolor=rgba(0, 0, 0, 0.03)]/home/ubuntu [backcolor=rgba(0, 0, 0, 0.03)]/sqlite3/install [backcolor=rgba(0, 0, 0, 0.03)]/
[backcolor=rgba(0, 0, 0, 0.03)]--host: 指定交叉编译工具,和编译Linux的编译器一致。 --prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径 
执行make,make install,完成后如图 4:

查看install目录下是否生成了需要的文件。

将lib目录下的库文件拷贝到开发板的/lib/目录下,

将bin目录下的sqlite3拷贝到开发板的/bin/目录下,

在开发板的终端命令行输入sqlite3,会进入如图 8所示:

测试:新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的user表,如图 9所示:

创建.db文件 Sqlite3 /路径/文件名.db 操作完后一定要输入.databases。 
编写C代码测试: 现在数据库创建表,插入数据: create table demo (id int,name char,age int);
insert into demo values(100,'WangWu',23);
insert into demo values(101,'Tommm',25);
select * from demo; 
C代码如下,具体可参照目录下的demo源码 
交叉编译 :arm-linux-gnueabihf-gcc -I /home/ubuntu/sqlite3/install/include/ -L /home/ubuntu/sqlite3/install/lib/ -o sql testSql.c -lsqlite3 -ldl -I指定了sqlite3.h所在路径, -L指定sqlite3的lib库路径。 
将生成的可执行文件拷贝到开发板: 
执行后可看到查询结果: 
至此sqlite3的移植和简单使用介绍结束。 
迅为i.MX6ULL终结者开发板使用手册内容提纲: 
|