本文介绍如何将sqlite3移植到 ARM开发板上,以及在开发板上用 C语言操作sqlite3,相关的配套资料在网盘资料“iTOP-i.MX6开发板资料汇总(不含光盘资料)\08_iTOP-i.MX6开发板Linux系统开发资料\25-QT系统Sqlite3移植和使用”目录。操作源码下载地址:https://www.sqlite.org/download.html,我们直接下载最新版(3.32.3版本),我们把下载后的压缩包放在了文档目录底下: 1 将下载的压缩包sqlite-autoconf-3320300.tar.gz解压后创建安装目录 mkdir install,如下图所示: 2进入解压后的目录,配置编译选项:./configure --host=arm-none-linux-gnueabi --prefix=/home/topeet/iMX6Q/sqlite3/install/ 。 --host: 指定交叉编译工具,和编译Linux的编译器一致。 --prefix:指定安装目录,编译后生成的文件放在此目录,必须是绝对路径 3执行make,完成后如下图所示: 4执行make install,完成后如下图所示: 5 查看install目录下是否生成了需要的文件。 6将lib目录下的库文件拷贝到开发板的/lib/目录下,将bin目录下的sqlite3拷贝到开发板的/bin/目录下。 7在开发板的终端命令行输入sqlite3,会进入如下图所示: 8 测试: ① 新建表,输入 create table user (id int,name char,age int); 然后查询表,输入.table,即可查到刚创建的user表,如图 所示: ② 创建.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-none-linux-gnueabi-gcc -I /home/topeet/iMX6Q/sqlite3/install/include/ -L /home/topeet/iMX6Q/sqlite3/install/lib/ -o sql testSql.c -lsqlite3 -ldl -I指定了sqlite3.h所在路径, -L指定sqlite3的lib库路径。 将生成的可执行文件sql拷贝到开发板root目录下 执行后可看到查询结果: 至此sqlite3的移植和简单使用介绍结束。
|