背景

SQLite 是 一个 常用于 嵌入式平台的 轻量级数据库。

host平台  :Ubuntu 16.04

arm平台   : S5P6818

SQLite :3.31.1

arm-gcc   :4.8.1

移植

##
# Copyright By Schips, All Rights Reserved
# https://gitee.com/schips/ # File Name: make.sh
# Created : Tue 24 Mar 2020 10:25:28 AM CST ##
#!/bin/sh
BASE=`pwd`
BUILD_HOST=arm-linux
OUTPUT_PATH=${BASE}/install/ make_dirs() {
cd ${BASE}
mkdir compressed install source -p
} tget () { #try wget
filename=`basename $1`
echo "Downloading [${filename}]..."
if [ ! -f ${filename} ];then
wget $1
fi echo "[OK] Downloaded [${filename}] "
} download_package () {
cd ${BASE}/compressed
#下载包
tget https://www.sqlite.org/2020/sqlite-autoconf-3310100.tar.gz
} tar_package () {
cd ${BASE}/compressed
ls * > /tmp/list.txt
for TAR in `cat /tmp/list.txt`
do
tar -xf $TAR -C ../source
done
rm -rf /tmp/list.txt
} configure_jpeg () {
cd ${BASE}/source/*
./configure \
--prefix=${OUTPUT_PATH}/${JPEG} \
--host=${BUILD_HOST}
} make_sqlite_host () {
cp ${BASE}/source/sqlite* ${BASE}/source/_sqlite_for_host -r
cd ${BASE}/source/_sqlite_for_host
./configure --prefix=${OUTPUT_PATH}/sqlite_host
make && make install
} make_sqlite_arm () {
cp ${BASE}/source/sqlite* ${BASE}/source/_sqlite_for_arm -r
cd ${BASE}/source/_sqlite_for_arm
./configure CC=${BUILD_HOST}-gcc --prefix=${OUTPUT_PATH}/sqlite_arm --host=arm-linux --build=i686-pc-linux-gnu
make && make install
}
echo "Using ${BUILD_HOST}-gcc"
make_dirs
download_package
tar_package
configure_jpeg
make_sqlite_host
make_sqlite_arm

移植完的结果在 install 目录下,可以 运行 file install/sqlite_arm/bin/* 进行测试

拷贝

将对应的lib拷贝到板子上。

arm linux 移植 SQLite 3的更多相关文章

  1. arm linux 移植 x265

    背景 本来想着把 x265编译到ffmpeg里面,搞定了x265的编译:但是一直报ERROR: x265 not found using pkg-config这个错误,我按照网上的资料,查看了ffbu ...

  2. Linux 安装 go 以及 arm linux 移植 go

    背景 Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. 从Go1.4之后Go语言的编译器完全由Go语言编写,所以为了从源代码 ...

  3. arm linux 移植 MQTT (paho、mosquitto)

    前言 我们在这里做2件事情: 1)编译 paho.mqtt.mosquitto 2个开源项目的c版本库(mosquitto库没有用上) 2)编译好 依赖 paho.mqtt的库编写例程 + mosqu ...

  4. arm linux 移植 ffmpeg 库 + x264

    背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. ...

  5. arm linux 移植 PHP

    背景: PHP 是世界上最好的语言. host平台 :Ubuntu 16.04 arm平台 : 3531d arm-gcc :4.9.4 php :7.1.30 zlib :1.2.11 libxml ...

  6. arm linux 移植支持 HP打印机

    背景 由于业务需要,需要hi3531d主板上加入对于HP打印机的支持. 通过与产品经理,技术主管的沟通:通用支持是不现实的,只要求彩色打印,先不考虑打印机的价格,只要支持一款打印机即可. 注意: Li ...

  7. arm linux 移植 gdb/gdbserver

    背景 调试工具gdb的使用对于嵌入式Linux开发人员来说是一项不可少的技能. 目前,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机 ...

  8. arm linux 移植 udhcp 与 使用

    背景 在一些网络环境下,需要静态IP不够现实,需要使用DHCP进行自动获取IP地址. udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微μ- DHCP -客户端client(μDH ...

  9. arm linux 移植 rsync

    背景: 在产品开发中可以使用rsync进行大文件的拷贝,断点续传. host平台 :Ubuntu 16.04 arm平台 : 3531d   rsync   :3.1.3 arm-gcc :4.9.4 ...

  10. arm linux 移植 jpeg

    背景: host平台 :Ubuntu 16.04 arm平台 : S5P6818 jpeg :v9c arm-gcc :4.8.1 主机准备: 运行以下脚本: ## # Copyright By Sc ...

随机推荐

  1. 低开开发笔记(五):修bug-深拷贝与浅拷贝

    好家伙   今天遇到一个bug 0.问题描述 描述如下:  代码如下: copynodefunc() { this.copynode = this.model.selected }, affixnod ...

  2. ThreadLocal 的原理讲述 + 基于ThreadLocal实现MVC中的M层的事务控制

    ThreadLocal 的原理讲述 + 基于ThreadLocal实现MVC中的M层的事务控制 目录 ThreadLocal 的原理讲述 + 基于ThreadLocal实现MVC中的M层的事务控制 每 ...

  3. 10、操作系统安全加固-Linux加固

    1.账号管理与认证授权 1.1.为不同的管理员分配不同的账号 目的:根据不同用途设置不同账户账号,提高安全层级 实施方法: 1.设置高风险文件为最小权限,如:passwd.shadow.group.s ...

  4. 字节面试:说说Java中的锁机制?

    Java 中的锁(Locking)机制主要是为了解决多线程环境下,对共享资源并发访问时的同步和互斥控制,以确保共享资源的安全访问. 锁的作用主要体现在以下几个方面: 互斥访问:确保在任何时刻,只有一个 ...

  5. CodePen 的国内替代「笔.COOL」,一个功能完备、使用便捷的在线HTML/CSS/JS编辑器和作品分享平台

    笔.COOL,是一个最近在国内崭露头角的在线HTML/CSS/JS编辑器和作品分享平台. 笔.COOL 提供了一个在线的 HTML.CSS 和 JavaScript 代码编辑器.无需任何安装,你只需打 ...

  6. VSCode:让VSCode终端面板显示到右边

    很简单,右击下方终端面板,选中"将视图移动到侧面板": 可以看到终端成功显示到右边了:

  7. web component基础概念及使用

    概念和使用 作为开发者,我们都知道尽可能多的重用代码是一个好主意.这对于自定义标记结构来说通常不是那么容易 - 想想复杂的HTML(以及相关的样式和脚本),有时您不得不写代码来呈现自定义UI控件,并且 ...

  8. Istio(一):服务网格和 Istio 概述

    目录 一.模块概览 二.微服务架构 三.服务网格概述 3.1 服务网格概述 3.2 为什么需要服务网格? 四.istio简介 4.1 Istio 简介 4.2 流量管理 4.3 可观察性 4.4 安全 ...

  9. C#笔记(1)窗体

    1. 隐藏TabPage 在使用TabControl控件时,希望隐藏其中某个选项卡(即TabPage).设置该TabPage的父容器为null 即可,如TabPage.Parent = null .如 ...

  10. k8s集群创建阿里云版本

    阿里云创建k8s集群实例 创建两个8G内存的抢占实例(青岛),能ssh 默认关闭防火墙,且没有交换分区 配置/etc/hosts,主机名 配置k8s仓库 配置命令补全 安装docker(需要conta ...