RaspberryPi-3B 交叉编译sqlite3

硬件 树莓派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

这样,交叉编译时 包含头文件和链接库就不会报错了

你可能感兴趣的:(Raspberry,交叉编译)