Linux下交叉编译sqlite3并移植到AR…

时间:2021-09-03 05:40:06
交叉编译sqlite3的目的(作用):能在x86的平台下交叉编译出能在ARM开发板运行的程序。将sqlite3移植到ARM的目的(作用):能在ARM开发板上建数据库和对数据库进行增删查改。
交叉编译sqlite3安装的操作过程基本跟在Linux下安装x86平台的sqlite3一样:Linux下安装sqlite3
当然,安装之前你得确认你的系统有交叉编译工具链,可以通过命令 arm-linux-gcc -v 查看。
解压:tar -xvf sqlite-autoconf-3071502.tar.gz
进入目录:cd sqlite-autoconf-3071502
新建一个安装目录:mkdri my_install
执行:./configure --host=arm-linux --prefix=安装目录的完整路径参数 --host=arm-linux 的作用是指明运行环境
编译并安装:make && make install
将库文件和头文件复制到交叉编译工具链的lib目录和include目录中:cp 安装目录/lib/libsqlite3.so libsqlite3.so.0libsqlite3.so.0.8.6  /.../交叉编译工具链目录/usr/libcp 安装目录/include/sqlite3.h /.../交叉编译工具链目录/usr/include
如果复制库文件时导致失去了链接关系,则在lib目录下重新链接一下:ln -s libsqlite3.so.0.8.6 libsqlite3.so.0ln -s libsqlite3.so.0.8.6 libsqlite3.so
保险的做法是保持链接复制:即cp的参数使用-af(-a:保持源文件的原有结构和属性;-f:强制覆盖已经存在的目标文件,而不提示用户进行确认) 
编译时,使用命令:arm-linux-gcc sqlitest.c -o sqlitest -l sqlite3
移植到ARM开发板上要将sqlite移植到ARM开发板上,只需要:将libsqlite3.so libsqlite3.so.olibsqlite3.so.0.8.6三个文件复制到ARM开发板的/lib目录下,将sqlite3复制到根目录下即可(也可以其他目录下)。
复制到开发板之前可以使用命令arm-linux-strip去掉sqlite3和库文件libsqlite3.so.0.8.6中的调试信息,大大减少所占的空间:arm-linux-strip sqlite3arm-linux-strip libsqlite3.so.0.8.6