0.前言
【2】可以使用apt-get安装,只是sqlite的版本号稍低些。
【3】可以使用源代码安装,在树莓派上直接编译,虽然树莓派的运算速度不如PC机,但是稍等几分钟也能编译安装完成。
【4】如果你想练习一下交叉编译,请阅读以下内容吧。
【本文目的】
【1】如何交叉编译源代码包
【2】交叉编译得到的文件位于何处
【3】交叉编译得到的文件应该复制到树莓派的哪些位置
【4】多学点Linux知识。
【参考资料】
【1】
树莓派学习笔记——交叉编译工具链
1.交叉编译过程
【1】获得源代码
【2】创建新目录
mkdir -p opt/sqlite-rpi
【3】编写一个安装脚本
#!/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 指定主机
【d】&& 代表执行完成之后再执行下一条指令, \ 代表续行。
【4】小心翼翼地执行
chmod user-install-rpi.sh ./user-install-rpi.sh
【6】结果
2.复制到树莓派中
这些文件在树莓派中具体位置是可以变化的,本例只是指出了最常用的位置(linux查找时的默认位置)。但是诸如动态共享库和头文件等文件可以位于树莓派的任意目录中,只要你在编译和执行的过程中可以正确找到即可。
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 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】遇到问题请耐心查找。