SQLite是一款针对嵌入式产品应用的轻量型开源数据库,它占用资源非常的低。在嵌入式应用中,该数据库只需要几百K的内存就够了,而且性能非常不错。除此外,它也支持Windows/Linux/Unix等主流的操作系统。

实际上,早就对SQLite垂暮已久了,奈何一直用不上。最近项目里,打算对小范围的数据(如黑名单数据)上SQLite进行管理。

一、SQLite版本选择和下载

当前广泛使用的版本是SQLite3。SQLite3也有很多版本,那哪个版本更可靠更稳定呢?这是我的第一个问题。

国网TCU程序有用到SQLite,本来想用它使用的版本,但是手上的TCU查不到它所用哪个版本。搜索了一圈,没有找到相关信息。所以暂时选择了当前最新版本3.20.0。

SQLite官网:http://www.sqlite.org/index.html

在官网上,可下载最新和历史发布的SQLite源码。

image

对于移植,根据网上经验,一般选择下载autoconf版本的源码包。如下图所示。

image 对于下载历史发布的autoconf版本的源码包,在官网上很难直接找到下载链接。我使用的方法如下:

1. 当前最新autoconf版本源码包的下载链接为:http://www.sqlite.org/2017/sqlite-autoconf-3200000.tar.gz

2. 根据这个链接地址的格式,我们很容易找到历史发布源码包的链接地址。

比如,要下载3.16.2版本的SQLite,它的下载链接应该为:

http://www.sqlite.org/2017/sqlite-autoconf-3160200.tar.gz

经验证,这个方法是有效的。

二、SQLite移植

SQLite的移植比较简单。

1. 下载autoconf版本源码包后,进行解压

tar -zxvf sqlite-autoconf-3200000.tar.gz

cd sqlite-autoconf-3200000/

2. 进入该源码目录,新建一个文件夹,用于存放生成的可执行文件和lib库文件

新建的文件夹,建议不要命名为install,因为使用samba共享时,因与INSTALL文件重名,导致在window系统进入该samba共享时,识别不出该文件夹。

reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$ mkdir output
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$ chmod 777 -R output/
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$ cd output/
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000/output$
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000/output$ pwd
/home/reille/zrn_work/sqlite/sqlite-autoconf-3200000/output
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000/output$
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000/output$ cd ../
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$

3. 配置SQLite

reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$ ./configure –prefix=/home/reille/zrn_work/sqlite/sqlite-autoconf-3200000/output –host=arm-linux CC=/usr/local/arm-uclibc/bin/arm-uclibc-gcc

  • CC赋值为嵌入式开发环境所使用的交叉编译工具,后面接自己交叉编译器的路径
  • –host:指定交叉编译工具,一般为arm-linux、arm-linux-gnueabihf、arm-none-linux-gnueabi等,具体要和板子用的交叉编译工具对应
  • –prefix:指定安装目录,编译后的文件会全部放在安装目录中。必须是绝对路径。这里指向了刚才新建的output文件夹

4. make; make install

编译生成:

reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$ make ; make install

reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000$ cd output/
reille@ubuntu:~/zrn_work/sqlite/sqlite-autoconf-3200000/output$ ls
bin  include  lib  share

5. 验证测试

把bin目录下编译的sqlite传到目标上,运行测试:

image

» 文章出处: reille博客—http://velep.com , 如果没有特别声明,文章均为reille博客原创作品
» 郑重声明: 原创作品未经允许不得转载,如需转载请联系reille#qq.com(#换成@)
分享到:

 Leave a Reply

(必须)

(我会替您保密的)(必须)

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

   
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量