硬件 树莓派3B
软件 桌面环境Ubuntu14.04-64位 树莓派环境UbuntuMate
步骤:
1 下载 SQLite3源码
SQLite3 地址:http://www.sqlite.org/download.html。 选择最新稳定版本的Source Code,如 sqlite-autoconf-3240000.tar.gz,就是SQLite 3.24.0版。
2 复制并解压源码包
本文以SQLite SQLite 3.24.0为例,先把下载的源码复制到主机,再进行解压。
cd
mkdir sqlite3 #在主机(如Ubuntu)创建工作目录
cd sqlite3 #进入工作目录中
tar zxvf sqlite-autoconf-3240000.tar.gz #解压
cd sqlite-autoconf-3240000 #进入解压后的目录
3、配置编译选项
mkdir ../install #创建安装目录
export PATH=$PATH:/home/xxx/rpi/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64 #交叉编译工具路径加入系统环境变量,必须!在bash脚本中有则不需要此步
./configure --host=arm-linux-gnueabihf --prefix=/home/veryarm/sqlite3/install
–host: 指定交叉编译工具,一般为arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具体要和目标板用的交叉编译工具对应。,这里为arm-linux-gnueabihf
–prefix: 指定安装目录,编译后的文件会全部放在安装目录中。注意:必须是绝对路径!
4 编译
make
make install
5 去除调试信息
使用交叉编译工具 strip 去除 sqlite3 的调试信息。
$ cd ../install/bin
$ arm-none-linux-gnueabi-strip sqlite3
压缩动态库 libsqlite3.so.0.8.6 文件。
cd ../lib
arm-none-linux-gnueabi-strip libsqlite3.so.0.8.6
6 复制文件到树莓派
通过sftp、nfs或者U盘等方式,将 sqlite3 复制到树莓派 /usr/sbin 目录,将动态库文件 libsqlite3.so.0.8.6 复制到目标板 /usr/lib 目录,并对动态库做链接。
#此步在树莓派上可用apt-get代替
cp sqlite3 /usr/sbin
cp libsqlite3.so.0.8.6 /usr/lib
cd /usr/lib
ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s libsqlite3.so.0.8.6 libsqlite3.so
7复制文件到交叉编译器#include目录
cd /home/xxx/rpi/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf #交叉编译器所在目录
ls
bin debug-root include lib libc
cp -r /home/xxx/install/bin ./bin
cp -r /home/xxx/install/include ./include
cp -r /home/xxx/install/lib ./lib
这样,交叉编译时 包含头文件和链接库就不会报错了