1 下载 sqlite3源码
sqlite3 地址:http://www.sqlite.org/download.html.我用的版本是sqlite-autoconf-3071300.tar.gz
2 解压源码包
我的文件是放在自己创建的forlinx/root下,再进行解压。
3、配置编译选项
@H_502_24@
@H_502_24@@H_502_24@@H_502_24@./configure@H_502_24@--prefix=/forlinx/root/sqlite3 --host=arm-linux CC=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc
@H_502_24@@H_502_24@配置参数--prefix@H_502_24@=/forlinx/root/sqlite3@H_502_24@指明编译后文件的安装路径
@H_502_24@@H_502_24@配置参数@H_502_24@--host=arm-linux指明运行的系统平台
@H_502_24@@H_502_24@配置参数@H_502_24@CC=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc指明交叉编译器的路径
@H_502_24@其中,
4 编译
@H_502_24@
make install
注:我在Ubuntu下安装完后就除了问题,问题如下:
@H_502_24@error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory //这个问题可能是我一开始没装好才导致的
@H_502_24@运行:ldconfig //重建/etc/ld.so.cache
再次运行:sqlite3,结果成功了,自己都被感动的要哭了
接下来就是和移植有关系的部分了
@H_502_24@cd /sqlite3 //编译后产生的文件
@H_502_24@@H_502_24@bin@H_502_24@目录下是可执行文件@H_502_24@sqlite3
@H_502_24@@H_502_24@@H_502_24@include目录下是头文件@H_502_24@sqlite3.h sqlite3ext.h
@H_502_24@@H_502_24@@H_502_24@lib目录下是编译生成的库文件,包括静态库和共享库。
@H_502_24@@H_502_24@@H_502_24@share目录下是帮助文档@H_502_24@man
@H_502_24@@H_502_24@/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-strip sqlite3@H_502_24@@H_502_24@ //@H_502_24@arm-linux-strip@H_502_24@用于剥离调试信息,使文件变小。
@H_502_24@
cp sqlite3 /usr/bin //将整个sqlite3移植到板上的/usr/bin下 cp libsqlite3.so.@H_502_24@0.@H_502_24@8.6 /usr/lib //将/@H_502_24@sqlite3/lib下的@H_502_24@libsqlite3.so.@H_502_24@0@H_502_24@.@H_502_24@8.6移植到板上的
/usr/lib下
以上操作可以用也可以用U盘或SD卡 @H_502_24@cd /usr/lib //打开板上的@H_502_24@/usr/lib@H_502_24@ ln -s libsqlite3.so.@H_502_24@0@H_502_24@.@H_502_24@8.6@H_502_24@ libsqlite3.so.@H_502_24@0@H_502_24@ ln -s libsqlite3.so.@H_502_24@0@H_502_24@.@H_502_24@8.6@H_502_24@ libsqlite3.so
@H_502_24@这里要注意的是@H_502_24@libsqlite3.so.@H_502_24@0和@H_502_24@libsqlite3.so不需要我们从sqlite3移植过来,它是自动生成的链接,而上面的目的就是@H_502_24@创建共享库的软链接
sqlite3: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
解决办法:下载libncurses.so.5,然后拷贝到/usr/lib下
最后再运行sqlite3
最后想说一句:尼玛,总算成功了