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

本文共 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

你可能感兴趣的文章
电力线通信载波模块
查看>>
linux vim详解
查看>>
Java23种设计模式案例:策略模式(strategy)
查看>>
XML解析之DOM4J
查看>>
图解微服务架构演进
查看>>
SQL PATINDEX 详解
查看>>
一些常用的网络命令
查看>>
CSP -- 运营商内容劫持(广告)的终结者
查看>>
DIV+CSS命名规范有助于SEO
查看>>
js生成二维码
查看>>
C指针练习
查看>>
web项目buildPath与lib的区别
查看>>
php对redis的set(集合)操作
查看>>
我的友情链接
查看>>
ifconfig:command not found的解决方法
查看>>
js使用正则表达式判断手机和固话格式
查看>>
计算机是怎么存储数字的
查看>>
mysql简单的单表查询详解
查看>>
mysql性能优化之Tuning-primer.sh的使用
查看>>
Unix的发展史
查看>>