交叉环境: armv4l-tools-2.95.2.tar.bz2
SQLite :sqlite-2.8.17.tar.gz(版本比较旧)可以用新的
0.交叉编译其,解压
0.1 修改路经 export PATH=/opt/host/armv4l/bin/:$PATH
--------------------------------------------------------------------------------
1。修改sqlite/src/sqliteInt.h文件,在115行处添加#define SQLITE_PTR_SZ 4
2。注释掉sqlite/configure文件中的
第19153行到19157行
第19991行到19995行
第20420行到20424行
第20394行到20398行
3。./configure --host=armv4l-unknown-linux 生成Makefile
4。修改Makefile文件
23行 BCC = armv4l-unknown-linux-gcc -g -O2
改掉,改成:
BCC = gcc -g -O2
5。make
5.5 copy ./libs/libsqlite.a复制到上一层目录
6。加上-static重新编译Makefile中sqlite:后的编译语句。即用命令./libtool --mode=link armv4l-unknown-linux-gcc -g -O2 -DOS_UNIX=1 -DOS_WIN=0 -DHAVE_USLEEP=1 -I. -I./src -DHAVE_READLINE=0 -o sqlite ./src/shell.c /libsqlite.la -static
7。strip生成的sqlite文件。用命令armv4l-unknown-linux-strip sqlite
8。下载测试
用minicom直接拷贝 arm板上
$ sqlite ex1
sqlite> create table tbl1(one varchar(10), two smallint);
sqlite> insert into tbl1 values('hello!',10);
sqlite> insert into tbl1 values('goodbye', 20);
sqlite> select * from tbl1;
hello!|10.aqli
goodbye|20
sqlite>