加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

移植sqlite3.7.8到s3c2410

发布时间:2020-12-12 20:40:56 所属栏目:百科 来源:网络整理
导读:编译环境: 主机:Ubuntu10.04 交叉编译工具:4.1.1 开发板:arm2410 源码:sqlite-autoconf-3070800.tar.gz (下载于:http://www.sqlite.org/download.html ) 1.解压数据库源文件并进入解压后的目录,如下: #tar - zxvf sqlite-autoconf-3070800.tar.gz

编译环境:

主机:Ubuntu10.04

交叉编译工具:4.1.1

开发板:arm2410

源码:sqlite-autoconf-3070800.tar.gz (下载于:http://www.sqlite.org/download.html )


1.解压数据库源文件并进入解压后的目录,如下:

#tar - zxvf sqlite-autoconf-3070800.tar.gz
#cd sqlite-autoconf-3070800

2.配置

#./configure --host=arm-none-linux-gnueabi-gcc --prefix=/opt/EmbedSky/apps/sqlite-autoconf-3070800/install3.7.8 --disable-tcl

看提示,好像--disable-tcl 这句华没什么用了

在Makefile里找到CC = arm-none-linux-gnueabi-gcc -march=armv4t -mcpu=arm920t
一般这交叉编译器是没有加这个的-march=armv4t -mcpu=arm920t,所以我们要加上,不然在操作过程中提示非法命令。

3.make

#make

这时候却出现错误:

1.# make
2.if /bin/bash ./libtool --tag=CC --mode=compile arm-linux-gcc -DPACKAGE_NAME="sqlite" -DPACKAGE_TARNAME="sqlite" -DPACKAGE_VERSION="3.7.8" -DPACKAGE_STRING="sqlite 3.7.8" -DPACKAGE_BUGREPORT="http://www.sqlite.org" -DPACKAGE="sqlite" -DVERSION="3.7.8" -D_FILE_OFFSET_BITS=64 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -I. -I. -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT sqlite3.lo -MD -MP -MF ".deps/sqlite3.Tpo" -c -o sqlite3.lo sqlite3.c; 3. then mv -f ".deps/sqlite3.Tpo" ".deps/sqlite3.Plo"; else rm -f ".deps/sqlite3.Tpo"; exit 1; fi 4.mkdir .libs
5. arm-linux-gcc -DPACKAGE_NAME="sqlite" -DPACKAGE_TARNAME="sqlite" -DPACKAGE_VERSION="3.7.4" "-DPACKAGE_STRING="sqlite 3.7.4"" -DPACKAGE_BUGREPORT="http://www.sqlite.org" -DPACKAGE="sqlite" -DVERSION="3.7.8" -D_FILE_OFFSET_BITS=64 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -I. -I. -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -MT sqlite3.lo -MD -MP -MF .deps/sqlite3.Tpo -c sqlite3.c -fPIC -DPIC -o .libs/sqlite3.o 6.arm-none-linux-gnueabi-gcc: 3.7.8": No such file or directory
7.<command-line>: warning: missing terminating " character
8.make: *** [sqlite3.lo] 错误 1

这时候参考了网友博客(表示感谢!),需要:

修改Makefile中的 -DPACKAGE_STRING="sqlite 3.7.8" 把sqlite和3.7.8中间的空格去掉

修改后编译就没问题了,

#make

#make install

4.将/opt/EmbedSky/apps/sqlite-autoconf-3070800/install3.7.8 目录下的bin目录和lib目录下的内容分别复制到开发板的/bin目录和/lib目录下,就可以使用sqlite3了

在开发板上运行

# sqlite3
SQLite version 3.7.8
Enter ".help" for instructions
sqlite>

OK!表明移植成功!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读