将sqlite3移植到开发板上

1、下载c源码

sqlite官网下载C源码:SQLite Download Page

点击第二个链接下载

2、解压

1、将下载好的c源码,放在linux下,

2、解压压缩包:tar -zxvf sqlite-autoconf-3460100

新建一个用存放 编译出来的文件: mkdir /home/linux/Desktop/build

3、运行配置文件:./configure -host=arm-linux -prefix=/home/linux/Desktop/build

--host:指定交叉编译工具, 和编译 Linux 的编译器一致

--prefix: 指定安装目录, 编译后生成的文件放在此目录, 必须是绝对路径

4、编译

执行configure命令,生成Makefile文件后,执行make命令:make

执行make后,再执行make install

完成之后可以发现,之前所建目录build下生成

bin include lib share四个目录。

3、移植文件

主要用到的文件

有./bin/sqlite3,./include/sqlite3.h以及./lib/下的库文件。

挂载 后复制较大的文件会出现以下问题

cs 复制代码
nfs:server is not responding,still trying

原因分析:NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象。
解决方法:在客户端(即开发板)改用TCP协议,使用下面的命令,

cs 复制代码
mount -t nfs -o tcp,nolock 192.168.1.200:/home/linux/nfs /mnt

1、bin文件夹下的sqlite3,是sqlite可执行应用程序,下载到板子Linux系统下的/bin目录

并添加文件可执行权限。在板子Linux系统命令行下执行:

cs 复制代码
chmod 777 sqlite3

2、移植库文件

把lib/文件夹下的libsqlite3.so.0.8.6 下载到板子目录/lib下(libsqlite3.so和libsqlite3.so.0都是libsqlite3.so.0.8.6的软链接文件)

下载到板子后,还需对它建立软链接文件,因为可执行程序寻找的动态链接库的名字为libsqlite3.so.0。

cs 复制代码
[root@FriendlyARM plg]# ln -s /lib/libsqlite3.so.0.8.6 /lib/libsqlite3.so.0

交叉编译

在linux下编译sqlite3有关文件到开发板上是,编译命令是

cs 复制代码
arm-linux-gcc main.c -lsqlite3 -I /home/linux/Desktop/build/include -L /home/linux/Desktop/build/lib
相关推荐
RestCloud13 分钟前
在制造业数字化转型浪潮中,数据已成为核心生产要素。然而,系统割裂、数据滞后、开发运维成本高等问题,却像顽固的 “数据枷锁”,阻碍着企业发展。ETLCloud与
数据库·postgresql
!chen23 分钟前
【Spring Boot】自定义starter
java·数据库·spring boot
十碗饭吃不饱1 小时前
sql报错:java.sql.SQLSyntaxErrorException: Unknown column ‘as0‘ in ‘where clause‘
java·数据库·sql
我是Superman丶1 小时前
【优化】Mysql指定索引查询或忽略某个索引
数据库·mysql
程序定小飞2 小时前
基于springboot的在线商城系统设计与开发
java·数据库·vue.js·spring boot·后端
呆呆小金人2 小时前
SQL入门: HAVING用法全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
LL_break2 小时前
Mysql数据库
java·数据库·mysql
野犬寒鸦2 小时前
从零起步学习Redis || 第十一章:主从切换时的哨兵机制如何实现及项目实战
java·服务器·数据库·redis·后端·缓存
倔强的石头_3 小时前
面向大数据架构的演进:为何 Apache IoTDB 是与生态无缝融合的理想之选?
数据库
Elastic 中国社区官方博客3 小时前
如何减少 Elasticsearch 集群中的分片数量
大数据·数据库·elasticsearch·搜索引擎·全文检索