加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

嵌入式SQLite数据库的构建

发布时间:2020-12-12 20:16:23 所属栏目:百科 来源:网络整理
导读:宿主PC机上安装SQLite数据库 1.下载SQLite数据库的源码并解压 这里使用的SQLite数据库的版本是sqlite-3.5.9,下载地址是:http://sqlite.org/sqlite-3.5.9.tar.gz,将下载到的sqlite-3.5.9.tar.gz压缩包拷贝到fedora7 Linux操作系统的/root目录下,然后在终

宿主PC机上安装SQLite数据库

1.下载SQLite数据库的源码并解压

这里使用的SQLite数据库的版本是sqlite-3.5.9,下载地址是:http://sqlite.org/sqlite-3.5.9.tar.gz,将下载到的sqlite-3.5.9.tar.gz压缩包拷贝到fedora7 Linux操作系统的/root目录下,然后在终端进入root并解压,操作命令如下:

[root@localhost /]# cd /root

[root@localhost root]#tar zxvfsqlite-3.5.9.tar.gz

这会在/root目录中生成一个sqlite-3.5.9的目录。

2. 生成SQLite的配置文件,编译和安装SQLite

接着进入sqlite-3.5.9目录,并采用默认配置生成Makefile文件,然后编译、安装SQLite,操作命令如下:

[root@localhost root]#cd sqlite-3.5.9;

[root@localhost sqlite-3.5.9]#./configure ;

[root@localhost sqlite-3.5.9]#Make ;

[root@localhost sqlite-3.5.9]#make install ;

这会在fedora7 Linux操作系统的/usr/local(这是默认的安装路径)生成bin、include和lib三个目录,其中bin目录中的文件是SQLite的可执行文件sqlite3;include目录中的文件是libsqlite3.a、libsqlite3.la、libsqlite3.so、libsqlite3.so.0和libsqlite3.so.0.8.6;lib目录中的文件是sqlite3.h,它是SQLite的头文件。

3. 测试SQLite数据库

因为上面是按默认路径/usr/local安装SQLite的,此时只要在终端直接输入sqlite3,出现如下输出信息表示SQLite数据库安装成功。

[root@localhost sqlite-3.5.9]#sqlite3

SQLite version 3.5.9

Enter".help" for instructions

sqlite>

安装交叉编译环境下的SQLite数据库

1. 下载SQLite数据库的源码并解压

这里使用的SQLite数据库的版本是sqlite-3.5.9,下载地址是:http://sqlite.org/sqlite-3.5.9.tar.gz,将下载到的sqlite-3.5.9.tar.gz缩包拷贝到fedora7 Linux操作系统的/usr/local/arm目录下,然后在终端进入/usr/local/arm并解压,操作命令如下:

[root@localhost /]#cd /usr/local/arm ;

[root@localhost arm]#tar zxvf sqlite-3.5.9.tar.gz;

这会在/usr/local/arm目录中生成一个sqlite-3.5.9的目录。

1.生成SQLite的配置文件,编译和安装SQLite

与在PC环境下编译SQLite3不同,不能通过sqlite-3.5.9目录下的configure脚本来生成Makefile文件。而是必须手动修改Makefile文件。在sqlite-3.5.9目录下有一个Makefile范例文件为Makefile.linux-gcc,修改这个文件并重命名为Makefile,操作命令如下:

[root@localhost arm]#cd sqlite-3.5.9; //进入sqlite-3.5.9目录

[root@localhost sqlite-3.5.9]#cp Makefile.linux-gccMakefile ; //复制一个Makefile文件

[root@localhost sqlite-3.5.9]#gedit Makefile ; //修改Makefile文件

对Makefile的要作两个方面的修改,先将编译器和归档工具等换成交叉工具链中的对应工具,比如将gcc换成arm-linux-gcc;接着去掉与TCL相关的编译选项,因为在默认的情况下,会将编译SQLite3的Tcl语言绑定,但是把SQLite3移植到ARM-Linux交叉编译环境时并不需要,必须把两个和TCL有关的内容注释掉,具体修改如下:

把第17行的代码“TOP = ../sqlite”改为“TOP = .”;

把第73行的代码“TCC = gcc -O6”改为“TCC =arm-linux-gcc -O6”;

把第81行的代码“AR = ar cr”改为“AR = arm-linux-ar cr”;

把第83行的代码“RANLIB = ranlib”改为“RANLIB = arm-linux-ranlib”;

把第86行的待码“MKSHLIB = gcc -shared”改为“MKSHLIB = arm-linux-gcc-shared”;

把第96行的代码“TCL_FLAGS = -I/home/drh/tcltk/8.4linux”注释掉;

把第103行的代码“LIBTCL = /home/drh/tcltk/8.4linux/libtcl8.4g.a -lm –ldl”注释掉;

然后保存退出,接修改main.mk文件,操作命令如下:

[root@localhost sqlite-3.5.9]#gedit main.mk //修改main.mk文件

把第63行的代码“select.o table.otclsqlite.o tokenize.o trigger.o ”修改为“select.o table.o tokenize.otrigger.o ”;

然后保存退出,至此完成了所有文件的修改工作,接下来进行编译SQLite,操作命令如下:

[root@localhost sqlite-3.5.9]#make ;

编译完成后,会在当前的sqlite-3.5.9目录下生成libsqlite3.a、sqlite3.h和sqlite3三个文件,它们分别是SQLite的库函数文件、头文件和应用程序文件。然后将sqlite3应用程序文件拷贝到fedora7 Linux操作系统下的/nfs/bin目录下,这样就可以在嵌入式开发平台(比如超级终端)上使用SQLite了。

3. 测试SQLite数据库

把便携式卫星通信地球站监控系统的目标板和PC机连接起来,在PC机上打开超级终端,启动目标版的操作系统,然后在超级终端输入sqlite3,出现如下输出信息表示SQLite数据库安装成功。

[root@localhost /]# sqlite3

SQLite version 3.5.9

Enter ".help" for instructions

sqlite>

尽管在嵌入式交叉编译环境下和在PC机环境下安装SQLite数据库的方法不一样,但是在两种环境下生成数据库文件的存储格式是相同的,对数据库的操作也是一样的,并且在PC环境下和在嵌入式环境下可以操作同一个数据库。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读