编译前准备工作
-
平台及资源
主机环境:ubuntu 14.04
开发板 :米尔科技 ARM 335X 系列
SQLite:SQLite3.26 下载网址:https://www.sqlite.org/2018/sqlite-autoconf-3260000.tar.gz
编译器:arm-linux-gnueabihf 交叉编译器最好选择开发板厂商提供的交叉编译工具链 -
配置交叉编译器的环境变量
在~/.profile中添加环境变量指定到交叉编译器的bin目录下,例如:
export PATH=$PATH:/home/zzl/work/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin
并执行 source ~/.profile 使配置生效
使用 arm-linux-gnueabihf-gcc -v 命令查看当前版本号,同时检查环境变量配置是否生效。
交叉编译SQLite3
- 解压缩sqlite-autoconf-3260000.tar.gz文件
- 进入目录
- 在终端输入
例如(目录需更具自己情况修改):
./configure --prefix=/home/zzl/arm/sqlite --host=arm-linux-gnueabihf
–prefix指定目标文件的路径,–host指定目标平台(即为刚刚配置环境变量的交叉编译器)
make -j4&&make install
编译完成之后,检查–prefix指定的目标文件夹下文件
zzl@ubuntu:~/arm2$ cd sqlite/
zzl@ubuntu:~/arm2/sqlite$ ls
bin include lib share
zzl@ubuntu:~/arm2/sqlite$ cd bin
zzl@ubuntu:~/arm2/sqlite/bin$ ls
sqlite3
zzl@ubuntu:~/arm2/sqlite/bin$ file sqlite3
sqlite3: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=2aa548029c2e40280d451b9e053ce2106c51217d, not stripped
使用file命令查看bin目录下的sqlite3文件,可以看见该执行文件是ARM架构,说明编译成功。
安装SQLite3
- 将编译出来的目标文件夹拷贝至开发板(推荐使用scp命令)
- 进入sqlite文件夹中,输入命令
cp ./bin/sqlite3 /usr/bin
cp ./lib/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
这些命令主要是将sqlite3文件加入到开发板的bin目录下,将lib库中的libsqlite3.so.0.8.6复制到开发板的usr/lib目录下,将sqlite动态库文件做链接。
使用/etc/profile配置环境变量效果相同
- 安装完成之后在终端键入 sqlite3,若出现以下提示,则说明安装成功!
输入.quit退出sqlite3。