嵌入式SQLite数据库的构建

前端之家收集整理的这篇文章主要介绍了嵌入式SQLite数据库的构建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

宿主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环境下和在嵌入式环境下可以操作同一个数据库

猜你在找的Sqlite相关文章