今天移植了这个程序,记个笔记先:
这里使用的是3.3.7版本,主机环境vmware(redhat9),目标板w90p710(uclinux)。
1:当然是解压,完了之后注意这两个文件:Makefile.linux-gcc,main.mk,首先mv Makefile.linux-gcc Makefile
2:修改Makefile
THREADLIB = 修改为THREADLIB = -elf2flt
在TCC上方添加 LDFLAGS = "-Wl,-elf2flt"
TCC = gcc 修改为 TCC = arm-elf-gcc -g -02
AR = ar cr 修改为 AR = arm-elf-ar cr
RANLIB = ranlib 修改为 RANLIB = arm-elf-ranlib
3:修改main.mk
找到LIBOBJ,删除后面的tclsqlite.o,即除掉tcl有关的东西。
将sqlite3$(EXE): $(TOP)/src/shell.c libsqlite3.a sqlite3.h
$(TCCX) $(READLINE_FLAGS) -o sqlite3$(EXE) $(TOP)/src/shell.c
libsqlite3.a $(LIBREADLINE) $(TLIBS) $(THREADLIB)
修改为:
shell.o: $(TOP)/src/shell.c sqlite3.h
$(TCCX) $(READLINE_FLAGS) -c $(TOP)/src/shell.c
sqlite3$(EXE): shell.o libsqlite3.a
$(TCC) $(LDFLAGS) -o $@ shell.o \
libsqlite3.a $(LIBREADLINE) $(THREADLIB) $(LDLIBS)
4:make编译得到目标文件sqlite3
5:拷贝到目标板中,在一个可写目录下执行:
/> cd bin
/bin> ls -l sqlite
-rwxr-xr-x 1 0 0 327072 Jan 01 00:00 sqlite
/bin >cd /tmp
/tmp>sqlite test.sqlite
sqlite> create table my(name varchar(80), num smallint);
sqlite> insert into my values('yutao', 100);
sqlite> insert into my values('uclinux', 99);
sqlite> select * from my;
yutao|100
uclinux|99
sqlite> .tables
my
sqlite> .schema
create table my(name varchar(80), num smallint);
sqlite> .q
/tmp>ls –l test.sqlite
其中tmp目录可写。
|
阅读(1669) | 评论(0) | 转发(0) |