首先声明 :这是我借鉴别人联合自己的交叉编译经验做改动而来的

    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 !!!

 

posted on 2012-04-18 09:37 姚先进 阅读(1983) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: