|  一,交叉编译器:
 arm-linux-gcc-4.5.1
 
 二、移植步骤
 下载源码
 
 http://www.sqlite.org/2013/sqlite-autoconf-3080100.tar.gz 
 1.在home/broadon/sqlite1下解压文件 
 tar xzf sqlite-autoconf-3080100.tar.gz 
 2.解压后会有一个新生成的文件夹sqlite-autoconf-3080100,进入文件夹 
 sd sqlite-autoconf-3080100 
 3.创建一个目录_install并进入该目录,用于在这个目录中进行交叉编译,如下:
 mkdir _install
 
 cd _install
 
 4.在_install目录中运行sqlite3.8.1中的configure脚本生成Makefile文件 
 ../configure --host=arm-linux--prefix=home/broadon/sqlite1/_install 
 注意configure前有两个..
 选项host指定的是用arm交叉编译器(非交叉环境不用指定)进行编译
 
 选项prefix后面的路径是到时候编译安装后目标存放的目录 5.执行make,(时间较长需要等一下)
 
 
 make [root@austgl _install]# ml]# make  /bin/sh ./libtool --tag=CC   --mode=compile arm-linux-gcc -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.8.1\" -DPACKAGE_STRING=\"sqlite\ 3.8.1\" -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.8.1\" -D_FILE_OFFSET_BITS=64 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_POSIX_FALLOCATE=1 -I. -I..    -D_REENTRANT=1 -DSQLITE_THREADSAFE=1  -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT sqlite3.lo -MD -MP -MF .deps/sqlite3.Tpo -c -o sqlite3.lo ../sqlite3.c  libtool: link: arm-linux-gcc -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -o .libs/sqlite3 shell.o  ./.libs/libsqlite3.so -ldl -lpthread -Wl,-rpath -Wl,/home/gl/e/sqlite3.8.1/_install/lib  [root@austgl _install]# ls  config.log  config.status  libsqlite3.la  libtool  Makefile  shell.o  sqlite3  sqlite3.lo  sqlite3.o  sqlite3.pc
 
 
 6.执行make install 
 make install root@austgl _install]# make install  make[1]: 进入目录“/home/gl/e/sqlite3.8.1/_install”   /usr/bin/mkdir -p '/home/gl/e/sqlite3.8.1/_install/lib'   /bin/sh ./libtool   --mode=install /usr/bin/install -c   libsqlite3.la '/home/gl/e/sqlite3.8.1/_install/lib'  libtool: install: /usr/bin/install -c .libs/libsqlite3.so.0.8.6 /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.so.0.8.6  libtool: install: (cd /home/gl/e/sqlite3.8.1/_install/lib && { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so.0 || { rm -f libsqlite3.so.0 && ln -s libsqlite3.so.0.8.6 libsqlite3.so.0; }; })  libtool: install: (cd /home/gl/e/sqlite3.8.1/_install/lib && { ln -s -f libsqlite3.so.0.8.6 libsqlite3.so || { rm -f libsqlite3.so && ln -s libsqlite3.so.0.8.6 libsqlite3.so; }; })  libtool: install: /usr/bin/install -c .libs/libsqlite3.lai /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.la  libtool: install: /usr/bin/install -c .libs/libsqlite3.a /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.a  libtool: install: chmod 644 /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.a  libtool: install: arm-linux-ranlib /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.a  libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/home/gl/.local/bin:/home/gl/bin:/home/gl/e/4.4.3/bin:/home/gl/e/arm-2013.05:/sbin" ldconfig -n /home/gl/e/sqlite3.8.1/_install/lib  ldconfig: /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.so.0.8.6 is for unknown machine 40.    ldconfig: /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.so is for unknown machine 40.    ldconfig: /home/gl/e/sqlite3.8.1/_install/lib/libsqlite3.so.0 is for unknown machine 40.    ----------------------------------------------------------------------  Libraries have been installed in:     /home/gl/e/sqlite3.8.1/_install/lib    If you ever happen to want to link against installed libraries  in a given directory, LIBDIR, you must either use libtool, and  specify the full pathname of the library, or use the `-LLIBDIR'  flag during linking and do at least one of the following:     - add LIBDIR to the `LD_LIBRARY_PATH' environment variable       during execution     - add LIBDIR to the `LD_RUN_PATH' environment variable       during linking     - use the `-Wl,-rpath -Wl,LIBDIR' linker flag     - have your system administrator add LIBDIR to `/etc/ld.so.conf'    See any operating system documentation about shared libraries for  more information, such as the ld(1) and ld.so(8) manual pages.  ----------------------------------------------------------------------   /usr/bin/mkdir -p '/home/gl/e/sqlite3.8.1/_install/bin'    /bin/sh ./libtool   --mode=install /usr/bin/install -c sqlite3 '/home/gl/e/sqlite3.8.1/_install/bin'  libtool: install: /usr/bin/install -c .libs/sqlite3 /home/gl/e/sqlite3.8.1/_install/bin/sqlite3   /usr/bin/mkdir -p '/home/gl/e/sqlite3.8.1/_install/include'   /usr/bin/install -c -m 644 ../sqlite3.h ../sqlite3ext.h '/home/gl/e/sqlite3.8.1/_install/include'   /usr/bin/mkdir -p '/home/gl/e/sqlite3.8.1/_install/share/man/man1'   /usr/bin/install -c -m 644 ../sqlite3.1 '/home/gl/e/sqlite3.8.1/_install/share/man/man1'   /usr/bin/mkdir -p '/home/gl/e/sqlite3.8.1/_install/lib/pkgconfig'   /usr/bin/install -c -m 644 sqlite3.pc '/home/gl/e/sqlite3.8.1/_install/lib/pkgconfig'  make[1]: 离开目录“/home/gl/e/sqlite3.8.1/_install”
 
 
 7.编译和安装完后,在/home/gl/e/sqlite3.8.1/_install目录中会生成四个文件夹,分别是:bin、include、lib share, 
 将bin下的文件下载到开发板的/bin目录中, 
 lib下的所有文件下载到开发板的/lib目录中即可。 
 include 头文件拷贝到 交叉编译器的 include目录下。 
 8.在开发板上测试移植的sqlite数据库。 
 执行: #sqlite3
 显示版本信息
 
 
 [root@EmbedSky /]# sqlite3  SQLite version 3.8.1 2013-10-17 12:57:35  Enter ".help" for instructions  Enter SQL statements terminated with a ";"  sqlite>
 
 
 
 
 需要修改开发板sqlite3的权限使其变成可执行文件。chmod 777 sqlite3 |