树莓派学习笔记——交叉编译练习之SQLite3安装

树莓派学习笔记——交叉编译练习之SQLite3安装,第1张

概述0.前言     本博文可能并没有太多使用价值,仅仅是为了练习而练习。在树莓派上使用SQLite有很多的方法,安装的方法也有很多。     【1】如果使用Python,那么不必安装SQLite因为Python已经自带SQLite。     【2】可以使用apt-get安装,只是SQLite的版本号稍低些。     【3】可以使用源代码安装,在树莓派上直接编译,虽然树莓派的运算速度不如PC机,但是稍 0.前言 本博文可能并没有太多使用价值,仅仅是为了练习而练习。在树莓派上使用sqlite有很多的方法,安装的方法也有很多。 【1】如果使用Python,那么不必安装sqlite因为Python已经自带sqlite。 【2】可以使用apt-get安装,只是sqlite的版本号稍低些。 【3】可以使用源代码安装,在树莓派上直接编译,虽然树莓派的运算速度不如PC机,但是稍等几分钟也能编译安装完成。 【4】如果你想练习一下交叉编译,请阅读以下内容吧。
【本文目的】 【1】如何交叉编译源代码包 【2】交叉编译得到的文件位于何处 【3】交叉编译得到的文件应该复制到树莓派的哪些位置 【4】多学点linux知识。
【参考资料】 【1】 树莓派学习笔记——交叉编译工具链 【2】 Linux学习笔记——如何在交叉编译时使用共享库 【3】 Linux学习笔记——例说makefile 索引博文
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:34Enter ".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安装全部内容,希望文章能够帮你解决树莓派学习笔记——交叉编译练习之SQLite3安装所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1172033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存