sqlite-3.6.1 在uclinux上的移植
1、 下载源码
$ mkdir -p ~/arm/source/sqlite/
$ cd ~/arm/source/sqlite/
$ wget -c
2、 编译安装
1)编译安装前注意设置交叉编译器的路径,我的是在.bashrc中加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
2) 记得先安装一下readline库,否则在sqlite3的命令行中不能使用shell的
history等功能. 其实这只对pc机上的linux有用(只需sudo apt-get install
libreadline5-dev 就行了),但是对于交叉编译的arm-linux 却没有
readline库,要移植readline库(我的这一步并不成功,不知道是什么原因):
$ wget -c ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz
$ tar zxf readline-5.2.tar.gz
$ cd readline-5.2/
$ ./configure --host=arm-linux --prefix=$(pwd)/_install
$ make
$ make install
3) 编译安装sqlite
$ tar zxvf sqlite-3.6.1.tar.gz
$ cd sqlite-3.6.1/
$ ./configure --host=arm-linux --prefix=$(pwd)/_install
--disable-tcl --with-readline-lib=/home/itlanger\
/arm/source/sqlite/readline-5.2/_install/lib
$ make
$ make install
编译安装成功后,会在_install目录下安装三个目录: bin, include 和 lib
3、安装
1) strip一下动态库
$ cd sqlite-3.6.1/_install/lib
$ arm-linux-strip libsqlite3.so.0.8.6
这样就将libsqlite3.so.0.8.6从原来的1M多减少到300多k!
2) 将sqlite-3.6.1/_install/lib/* copy到目标板的/usr/lib目录下
$ cp -rP _install/lib/* ~/work/ ##这里work是我的nfs目录
3)将sqlite-3.6.1/_install/bin/sqlite3 copy到目标板的/usr/bin目录下
4)将 readline-5.2/lib/* copy到目标板子的/usr/lib目录下
4、测试
1) 转到目标板上运行sqlite3, 没问题吧.
2) 写个小程序测试一下,假设为test.c
3) 程序的编译:
$ arm-linux-gcc -o test test.c -L/home/itlanger/arm/source/\
sqlite/sqlite-3.6.1/_install/lib -I/home/itlanger/arm/source\
slqite/sqlite-3.6.1/_install/include -Wall
是不是程序的路径太长了? 可以这样:
$ sudo cp -rP sqlite-3.6.1/_install/lib/libsqlite3.* /usr/local/\
arm/3.4.1/arm-linux/lib/
$ sudo cp sqlite-3.6.1/_install/include/* /usr/local/arm/3.4.1/\
arm-linux/include/
这样编译就比较方便了:
$ arm-linux-gcc -o test test.c -lsqlite3 -Wall
5、备注:
以上的交叉编译的sqlite3命令行程序还是不能支持up键的history功能。不
知道是什么原因。 所以标注为红色的最好不要做。
阅读(968) | 评论(0) | 转发(0) |