博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlite3开发环境搭建
阅读量:5893 次
发布时间:2019-06-19

本文共 1703 字,大约阅读时间需要 5 分钟。

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

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

1、下载sqlite3源码

  官网地址:

  

此版本提供了配置脚本、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/opt2 #创建安装目录,为方便管理与交叉工具链放在同一个目录下,在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/bin2 cp /usr/local/opt/sqlite3/lib/libsqlite3.so.0.8.6 /usr/local/lib3 cd usr/local/lib4 ln -s libsqlite3.so.0.8.6 libsqlite3.so.05 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"

 

转载于:https://www.cnblogs.com/mofei004/p/8984403.html

你可能感兴趣的文章
将GIT仓库从Github导入到Git@OSC
查看>>
Oracle 11g 导入 dmp 文件
查看>>
JDK 1.8.0_144 集合框架之CopyOnWriteArrayList
查看>>
linux 将大文件分成小文件
查看>>
CCNA- 距离矢量路由协议学习
查看>>
jira 配置 LDAP 访问
查看>>
Canonical发布Ubuntu server 11.10版本
查看>>
企业实践用户邮箱导入/导出(第2部分)
查看>>
我的友情链接
查看>>
nagios搭建(五):nagios监控mysql
查看>>
密信(Mesince)首创全自动邮件加密,颠覆传统邮件加密软件
查看>>
AIX ftp 530 User root access denied
查看>>
【Java记录】try-with-resources的一个坑
查看>>
如何学习Linux命令-初级篇
查看>>
从Oracle Public Yum为Oracle Linux建立本地的Yum源
查看>>
12月第3周全球域名总量TOP20: 美国夺冠 降幅巨大
查看>>
jQuery实现页面内锚点平滑跳转特效的方法总结
查看>>
正则表式
查看>>
理解Linux文件权限3
查看>>
Veeam Backup & Replication试用(二):前期准备,配置备份存储空间和VMware vSphere虚拟化平台...
查看>>