0.前言
    本博文可能并没有太多使用价值。不过为了练习而练习。在树莓派上使用SQLite有非常多的方法,安装的方法也有非常多。
    【1】假设使用Python,那么不必安装SQLite由于Python已经自带SQLite。

    【2】能够使用apt-get安装。仅仅是SQLite的版本稍低些。
    【3】能够使用源码安装,在树莓派上直接编译,尽管树莓派的运算速度不如PC机。可是稍等几分钟也能编译安装完毕。
    【4】假设你想练习一下交叉编译,请阅读下面内容吧。


    【本文目的】
    【1】怎样交叉编译源码包
    【2】交叉编译得到的文件位于何处
    【3】交叉编译得到的文件应该拷贝到树莓派的哪些位置
    【4】多学点Linux知识。


    【參考资料】

1.交叉编译过程
【1】获得源码
    下载sqlite源码包并在随意用户文件夹解压。【SQlite下载链接
    2014年7月最新的SQlite3的源码包名称为sqlite-autoconf-3080500.tar.gz。
 
【2】创建新文件夹
    在用户目录中新建目录 opt/sqlite-rpi。该目录用于存放交叉编译之后得到的文件
 mkdir -p opt/sqlite-rpi

【3】编写一个安装脚本
    在sqlite源码文件夹中,添加一个安装脚本——user-install-rpi.sh
#!/bin/bash
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=$HOME/opt/sqlite-rpi && \
make clean && \
make && \
make install
    【说明】
    【a】CC=arm-linux-gnueabihf-gcc 指定交叉工具链。该工具链已经写入用户环境变量。
    【b】--host=arm-linux 指定主机
    【c】--prefix=$HOME/opt/sqlite-rpi 指定安装文件路径,和步骤【1】相相应
    【d】&& 代表运行完毕之后再运行下一条指令。 \ 代表续行。

【4】小心翼翼地运行
    改动文件的运行权限。并运行脚本
chmod user-install-rpi.sh
./user-install-rpi.sh

【6】结果
    在opt/sqlite-rpi文件夹中,出现4个子文件夹,当中
    【bin】中有sqlite可运行文件,
    【include】中为sqlite的接口API,包含sqlite3.h和sqlite3ext.h
    【lib】文件夹中有动态共享库 libsqlite3.so.0.8.6 和 静态共享库libsqlite3.a

2.拷贝到树莓派中
    这些文件在树莓派中详细位置是能够变化的。本例仅仅是指出了最经常使用的位置(linux查找时的默认位置)。可是诸如动态共享库和头文件等文件能够位于树莓派的随意文件夹中。仅仅要你在编译和运行的过程中能够正确找到就可以。

 【1】使用ftp软件上传sqlite3(可运行文件)、libsqlite3.so.0.8.6(动态链接库)、sqlite3.h和sqlite3ext.h到树莓派中。

 【2】sqlite可运行文件,拷贝到/bin文件夹中
        sudo cp sqlite3 /bin/
 【3】libsqlite3.so.0.8.6,拷贝到/lib文件夹中
        sudo cp libsqlite3.so.0.8.6 /lib/
 【4】sqlite3.h和sqlite3ext.h 拷贝到/usr/include/文件夹中,若使用这C语言API,那么这两个头文件时必须的(当然也能够放在其它文件夹中。仅仅要在makefile的时候查找成功就可以)。
        sudo cp sqlite3.h sqlite3ext.h /usr/include/
 【5】若控制台中运行sqlite3错误发生,请查看是否出现反复libsqlite3.so.0.8.6 。

反复的动态共享库可能是安装Python时加入。

  sudo find -name / libsqlite3.so
      【运行结果】
#1
/usr/lib/arm-linux-gnueabihf/libsqlite3.so.0.8.6
#2
/lib/libsqlite3.so.0.8.6
      【把#2覆盖#1】
        请依据实际查找结果改动cp命令參数。

sudo cp /lib/libsqlite3.so.0.8.6 /usr/lib/arm-linux-gnueabihf/

 【5】执行sqlite3 ,执行成功
SQLite version 3.8.5 2014-06-04 14:06:34
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>

3.总结
    【1】交叉编译依旧离不开make三大步,configure、make和make install。

    【2】交叉编译之后得到的文件拷贝到linux的默认查找文件夹中,比如/usr/lib/ /usr/include/等。
    【3】遇到问题请耐心查找。
    

树莓派学习笔记——交叉编译练习之SQLite3安装的更多相关文章

  1. 树莓派学习笔记——apt方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过apt方式安装opencv.并通过一个简单的样例说明怎样使用opencv. 相比于源码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少 ...

  2. 树莓派学习笔记——使用文件IO操作GPIO SysFs方式

    0 前言     本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...

  3. 树莓派学习笔记—— 源码方式安装opencv

    0.前言     本文介绍怎样在树莓派中通过编译源码的方式安装opencv,并通过一个简单的样例说明怎样使用opencv.     很多其它内容请參考--[树莓派学习笔记--索引博文] 1.下载若干依 ...

  4. 【转】树莓派学习笔记——I2C Tools 学习笔记

    原文网址:http://blog.csdn.net/xukai871105/article/details/15029843 1.安装     I2C驱动载入和速率修改请查看博文[树莓派学习笔记——I ...

  5. 树莓派学习笔记——USB wifi配置指南

    0 前言     树莓派既能够使用有线网络又能够无线网络,假设使用有线网络不方便的话能够借助USB wifi无线网卡让树莓派也插上无线"翅膀". 可是和使用有线网络即插即用的方式不 ...

  6. go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE

    go语言,golang学习笔记1 官网下载安装,中文社区,开发工具LiteIDE Go语言是谷歌2009发布的专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速 ...

  7. 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.家庭服务器实现的主要功能 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面 ...

  8. 【转】 树莓派学习笔记——I2C设备载入和速率设置

    原文网址:http://blog.csdn.net/xukai871105/article/details/18234075 1.载入设备 方法1——临时载入设备 sudo modprobe -r i ...

  9. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

随机推荐

  1. linux command cp.

    Examples cp file1.txt newdir Copies the file1.txt in the current directory to the newdir subdirector ...

  2. C# trace debug TraceListener调试信息详解

    在C#编程中,可能要碰到把调试信息输出的问题,我们可以自己把信息显示在某个控件上,但是MS自己提供了一套机制帮助我们输出一些调试信息,这些信息有助于我们判断程序的走向,不用自己再去额外写调试代码了. ...

  3. windows下安装CI框架

    CI框架是一个非常流行的 mvc框架, CI框架如何安装和使用,在CI中文网已经讲的比较详细了 ,这里记录下几个需要注意的地方. 一. index.php问题 把压缩包下载解压到项目根目录即可运行里面 ...

  4. mybatis 一对一关联

    首先建表: CREATE TABLE teacher( t_id INT PRIMARY KEY AUTO_INCREMENT, t_name VARCHAR(20) ); CREATE TABLE ...

  5. archlinux的安装与简单配置(长期更新)

    安装部分较为较为简略,详细内容请查看arch的wiki 分区 cfdisk 格式化 mkfs.ext4 /dev/sdaX ... 挂载分区 mount /dev/sdaX /mnt ... 修改软件 ...

  6. android布局1

    第二类:属性值必须为id的引用名“@id/id-name” 仅RelativeLayout中有效    android:layout_below      在某元素的下方     android:la ...

  7. window.open()提交POST数据

    window.open(URL,name,specs,replace)   > Details 我们一般都是通过window.open(url, name, specs)以GET方式让浏览器打开 ...

  8. 使用Gson进行json数据转换(list to json 和json to list)

    文章借鉴自:http://blog.csdn.net/binyao02123202/article/details/7540407 下面是一个简单的例子: Java代码 public class Pe ...

  9. python numpy 使用笔记 矩阵操作

    (原创文章转载请标注来源) 在学习机器学习的过程中经常会用到矩阵,那么使用numpy扩展包将是不二的选择 建议在平Python中用多维数组(array)代替矩阵(matrix) 入门请考 http:/ ...

  10. Excel--java POi

    import java.io.File; import java.io.FileOutputStream; import org.apache.commons.io.FileUtils; import ...