首先声明 :这是我借鉴别人联合自己的交叉编译经验做改动而来的
1。# tar zxvf sqlite-3.3.7.tar.gz
#cd /usr/local/arm-linux/sqlite-3.3.7
新建一个sqlite-arm-linux目录
2.# mkdir /usr/local/arm-linux/sqlite-arm-linux
3.# cd /usr/local/arm-linux/sqlite-arm-linux
# export PATH=/usr/local/arm-linux/bin:$PATH
4.#../sqlite-3.3.7/configure --host=arm-linux --prefix=/usr/local/arm-linux/sqlite-arm-linux
这部会出现下面的错误:
configure: error: unable to find a compiler for building build tools
这个错误的解决方法是:
首先,我们进入目录usr/local/arm-linux/sqlite-1.3.7,打开其中的configure文件,用查找功能找到下列语句:
(用 test "$cross_compiling" = yes &&进行搜索)
# test "$cross_compiling" = yes &&
# { { echo "$as_me:13264: error: cannot check for file existence when cross compiling" >&5
#echo "$as_me: error: cannot check for file existence when cross compiling" >&2;}
# { (exit 1); exit 1; }; }
把其中的{ (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }
一共有两处,都改过来。
然后,我们要设置config_TARGET_CC和config_BUILD_CC两个环境变量。config_TARGET_CC是交叉编译器,config_BUILD_CC是主机编译器。重来:
#export config_BUILD_CC=gcc
#export config_TARGET_CC=arm-linux-gcc
下面重新编译就可以了
#../sqlite-3.3.7/configure --host=arm-linux --prefix=/usr/local/arm-linux/sqlite-arm-linux
然后我们会发现在在/usr/local/arm-linux/sqlite-arm-linux目录下生成一些相关文件: config.log config.status libtool Makefile sqlite3.pc
如果:还是出现如下同样的错误
checking for /usr/include/readline.h... configure: error: cannot check for file existence when cross compiling
那么 首先 : 你检查你的交叉编译环境 错误?? 如果真的没有则安装readline.h 在ubuntu的软件中心查找libncurses5-dev libreadline5-dev进行安装
如果安装之后从新。/conigure还是有这个错误 那就不管了 我不知道了但是还是生成了makefile文件!
下面在make之前我们修改一下Makefile文件,把其中的BCC = arm-linux-gcc -g -O2 为 BCC = gcc -g -O2
#make
#make install
会出现这样的话语:libsqlite3.so.0.8.6: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
over !!!