红联Linux门户
Linux帮助

sqlite 移植到arm-linux 记

发布时间:2007-06-14 09:42:31来源:红联作者:Change
一直想写一篇sqlite的论文,一拖再拖,今天终于再一次决定出手了。先搞定sqlite移植到arm-linux的问题。在网上找到了一批文章。感谢ybc,yeshi等等网友的文章。不过他们用的sqlite版本相对都要老一些,有很多说明已经不太实用。

首先在http://www.sqlite.org/download.html上下载sqlite-3.3.13.tar.gz

$ tar -zxvf sqlite-3.3.13.tar.gz ~/sqliteforuclinux/
$ cd sqliteforuclinux/sqlite-3.3.13

查看readme,内容为:
For example:
tar xzf sqlite.tar.gz ;# Unpack the source tree into "sqlite"
mkdir bld ;# Build will occur in a sibling directory
cd bld ;# Change to the build directory
../sqlite/configure ;# Run the configure script
make ;# Run the makefile.
make install ;# (Optional) Install the build products

我们现在要做的是交叉编译,要是为本机编译,可以照做就可以了

$ mkdir bld
$ cd bld
export config_BUILD_CC=gcc
export config_TARGET_CC=arm-linux-gcc

修改bld/目录下的 configure 文件的部分内容
20420行 { (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }
20446行 { (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }

$ ../sqlite-3.3.13/configure --disable-tcl --prefix=/home/yeshi/sqliteforuclinux/bld --host=arm-linux

将/bld/Makefile文件中如下语句
BCC = arm-linux-gcc -g -O2
改成:
BCC = gcc -g -O2 //红色字体的是上面贴子上的,我的不用改的,已经是BCC = gcc -g

(我的也已经不需要改)
$make
$make install
bld/lib 目录下,库文件已经生成在为了减小执行文件大小可以用strip处理,去掉其中的调试信息。

arm-linux-strip libsqlit3.so.0

在这个过程中起先遇到了不认识编译器的问题,修改环境变量解决问题,而这个文章中没有提到的是link tag的问题,要修改一下makefile文件,把 --tag=arm-linux放到libtool字段的link段的后面,去掉$(TCC),或者在$(TCC)之前空一格然后添上--tag=CC。

编译完了之后可以把文件复制到开发板测试一下。
文章评论

共有 0 条评论