欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux下SQLite移植

程序员文章站 2022-04-13 20:25:12
...

# tar zxvf sqlite-3.3.8.tar.gz 解压完成之后将会在/root目录下生成一个sqlite-3.3.8/子目录,在该目录中包含了编译所

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

  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有关的行注释掉。

Linux下SQLite移植