sqlite3开发环境搭建

  SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,其占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。

  本文记录了在Ubuntu上安装sqlite3开发环境和交叉编译环境的过程。

1、下载sqlite3源码

  官网地址:http://www.sqlite.org/download.html

  

此版本提供了配置脚本、Makefile等。

2、首先安装到Ubuntu下的x86环境

1 cd sqlite-autoconf-3230100/ #进入源码主目录
2 sudo ./configure #使用默认配置,这里可以指定安装目录和编译器
3 sudo make 
4 sudo make install

观察安装过程中的输出信息可知,相关文件的安装路径如下:

可执行文件;/usr/local/bin
库文件:/usr/local/lib
头文件:/usr/local/include

命令行下输入:sqlite3,如下图,说明安装成功。

编译测试文件命令:gcc -o name name.c -lsqlite3

至此,就可以在Ubuntu下编写sqlite应用了。

3、安装嵌入式开发环境

  1)、编译ARM版本

1 cd /usr/local/opt
2 #创建安装目录,为方便管理与交叉工具链放在同一个目录下,在pc上编译代码用到此目录内容
3 mkdri sqlite3 
4 
5 cd sqlite-autoconf-3230100/
6 #--host指定了编译器  --prefix指定了安装目录
7 sudo ./configure --host=arm-none-linux-gnueabi --prefix=/usr/local/opt/sqlite3

  去除调试信息:

  arm-none-linux-gnueabi-strip sqlite3

  压缩动态库

  arm-none-linux-gnueabi-strip libsqlite3.so.0.8.6

   2)、复制可执行文件和库文件到开发板

1 cp /usr/local/opt/sqlite3/bin/sqlite3 /usr/local/bin
2 cp /usr/local/opt/sqlite3/lib/libsqlite3.so.0.8.6 /usr/local/lib
3 cd usr/local/lib
4 ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
5 ln -s libsqlite3.so.0.8.6 libsqlite3.so

确保/usr/local/bin包含于$PATH中,命令行输入sqlite3,如下:

说明安装成功。

编译测试文件命令:arm-none-linux-gnueabi-gcc -o name name.c -I /usr/local/opt/sqlite3/include -L /usr/local/opt/sqlite3/lib -lsqlite3

-I指定了头文件路径,-L指定了库文件路径, -lsqlite3制定的库为sqlite3。

问题:

  可执行文件在开发板运行时提示:: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory

原因:存放libsqlite3.so.0的路径没有包含到环境变量中。

解决:export LD_LIBRARY_PATH="/usr/local/lib"

 

posted on 2018-05-03 11:11  mofei004  阅读(798)  评论(0编辑  收藏  举报

导航