Linux下SQLite移植


  闲话少说,直奔主题,下面就是移植步骤:

  1、移植

     首先从这里下载SQLite 3.3.8。下面将以存放到/root目录下为例进行讲解。

     # cd /root

     # tar zxvf sqlite-3.3.8.tar.gz

     解压完成之后将会在/root目录下生成一个sqlite-3.3.8/子目录,在该目录中包含了编译所需要的所有源文件和配置脚本。SQLite3的所有源代码文件都位于sqlite-3.3.8/src/目录下。在PC环境下编译SQLite3不能通过sqlite-3.3.8/目录下的configure脚本来生成Makefile文件。取而代之的是必须手动修改Makefile文件。在sqlite-3.3.8/目录下有一个Makefile范例文件Makefile.linux-gcc。首先通过下面的命令拷贝此文件并重命名为Makefile:

  # cp Makefile.linux-gcc Makefile

     接下来,用vim打开Makefile文件并手动修改Makefile文件的内容。首先找到Makefile文件中的下面这样一行:

  TOP = ../sqlite

  将其修改为:

  TOP = .

  找到下面这样一行:

  TCC = gcc -O6

  将其修改为:

  TCC = arm-linux-gcc -O6

  找到下面这样一行:

  AR = ar cr

  将其修改为:

  AR = arm-linux-ar cr

  找到下面这样一行:

  RANLIB = ranlib

  将其修改为:

  RANLIB = arm-linux-ranlib

  找到下面这样一行:

  MKSHLIB = gcc -shared

  将其修改为:

  MKSHLIB = arm-linux-gcc -shared

  注释掉下面这一行:

  TCL_FLAGS = -I/home/drh/tcltk/8.4linux

  注释掉下面这一行:

  LIBTCL = /home/drh/tcltk/8.4linux/libtcl8.4g.a -lm -ldl

     原则上,对Makefile的修改主要包括两个方面:首先是将编译器、归档工具等换成交叉工具链中的对应工具,比如,gcc换成arm-linux-gcc,ar换成ar-linux-ar,ranlib换成arm-linux-ranlib等等;其次是去掉与TCL相关的编译选项,因为默认情况下,将会编译SQLite3的Tcl语言绑定,但是在移植到ARM-Linux的时候并不需要,因此将两个与TCL有关的行注释掉。

  • 1
  • 2
  • 3
  • 下一页

相关内容