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

来源:互联网 发布:河北干部网络管理学院 编辑:程序博客网 时间:2024/05/09 08:01
交叉编译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/lib
cp 安装目录/include/sqlite3.h /.../交叉编译工具链目录/usr/include

如果复制库文件时导致失去了链接关系,则在lib目录下重新链接一下:
ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
ln -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 sqlite3
arm-linux-strip libsqlite3.so.0.8.6


0 0
原创粉丝点击