1、解壓sqlite3源碼
# tar xvf sqlite-autoconf-3081002.tar.gz
2、進到源碼目錄并定制Makefile
# cd sqlite-autoconf-3081002
#./configure --prefix=$PWD/build --host=arm-linux
CC=/opt/arm-linux-gcc-4.6.4/bin/arm-linux-gcc
OR
# ./configure --prefix=$PWD/build --host=i386-linux
說明
--prefix: 指定安裝路徑
--host:指定主機編譯環境
arm-linux是指ARM交叉編譯
i386-linux是指x86系統
CC:指定編譯器
如果--host是arm-linux則需要交叉編譯工具鏈
如果--host是i386-linux則不需要指定編譯器,而使用系統默認的gcc
例:移植到ARM Cortex-A9
#./configure --prefix=$PWD/build --host=arm-none-linux-gnueabi
CC=/home/farsight/gcc-4.6.4/bin/arm-none-linux-gnueabi-gcc
注: arm-none-linux-gnueabi ------ 為A9開發板的交叉編譯工具
/home/farsight/gcc-4.6.4/bin/arm-none-linux-gnueabi-gcc ------為交叉編譯工具路徑
3、編譯
# make
4、安裝
# make install
5、移植到A9板子上:
找到交叉工具鏈的目錄
~#which arm-none-linux-gnueabi-gcc
得到: /home/farsight/gcc-4.6.4/bin/arm-none-linux-gnueabi-gcc
拷貝頭文件:
進入sqlite3的頭文件目錄:a
#cd /sqlite-autoconf-3081002/build/include
把所有頭文件拷貝到交叉編譯工具的頭文件目錄下:
#cp -a ./* /home/farsight/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/sysroot/usr/include/ ---->此路徑的頭文件是虛擬機CROSS_COMPILE的,為以后編譯對應的視頻應用程序做好準備工作。
拷貝動態庫
進入sqlite3的庫文件目錄:
#cd sqlite-autoconf-3081002/build/lib
把所有庫文件拷貝到交叉編譯工具的庫文件目錄下:
#cp -a ./* /home/farsight/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/lib
拷貝庫到板子上
# cp -a sqlite-autoconf-3081002/build/lib/* /source/rootfs/lib/
編譯時加上-lsqlite3:
#arm-none-linux-gnueabi-gcc *.c -o app -lsqlite3