Chinaunix首页 | 论坛 | 博客
  • 博客访问: 489110
  • 博文数量: 78
  • 博客积分: 5131
  • 博客等级: 大校
  • 技术积分: 1468
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-17 16:20
文章分类
文章存档

2012年(1)

2011年(29)

2010年(6)

2009年(24)

2008年(18)

我的朋友

分类: LINUX

2011-04-12 09:53:17

sqlite 数据库的ARM-Linux移置进行过程

准备工作:
1.
取得一个 arm-linux-gcc 的编译器。
2. sqlite
的源码 sqlite-3.8.8.tar.gz (本文以)

好了,我们可以开始了。
这里设 arm-linux-gcc /arm2410s/gui/tools/usr/local/arm/3.4.1/bin / 目录下

解压sqlite-3.8.8.tar.gz /usr/local/arm-linux/sqlite
# tar zxvf sqlite-3.8.8.tar.gz -C /usr/local/arm-linux/sqlite
# cd /usr/local/arm-linux/sqlite /sqlite-3.3.8

将目录下的 configure 文件的
19261
{ (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }
19290
{ (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }
20402
{ (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }

# mkdir /usr/local/arm-linux/sqlite-arm-linux
# cd /usr/local/arm-linux/sqlite-arm-linux

设置交叉编译环境
# export PATH=/arm2410s/gui/tools/usr/local/arm/3.4.1/bin /:$PATH

配置:
# ./configure --host=arm-linux --prefix=/usr/local/arm-linux/sqlite-arm-linux
注意:这里不用写成了 "../sqlite/configure --host=arm-linux --prefix=/usr/local/arm-linux/sqlite-arm-linux/"
这最后一个斜杠"/"不要带上了。

如果一切顺利的话,会在/usr/local/arm-linux/sqlite-arm-linux目录下生成一些相关文件L我的怎么生成在了 /usr/local/arm-linux/sqlite /sqlite-3.3
config.log config.status libtool Makefile sqlite3.pc
/usr/local/arm-linux/sqlite-arm-linux/Makefile文件的 BCC = arm-linux-gcc -g -O2 BCC = gcc -g -O223行)
编译安装:

# make
# make install(这里提示很多错误,一看看是***tcl.c

文件里的错。想起偶然看到的某贴子里说的系统里同有说是这个都是tcl相关的错误,可以先安装ActiveTcl以解决.假如你不需要tcl支持,那么这个错误可以这样避免在配置时命令如下:

./configure --host=arm-linux --disable-tcl --prefix=/usr/local/arm-linux/sqlite-arm-linux

/usr/bin/install -c -d /usr/local/arm-linux/sqlite-arm-linux/lib
./libtool --mode=install /usr/bin/install -c libsqlite3.la /usr/local/arm-linux/sqlite-arm-linux/lib
/usr/bin/install -c .libs/libsqlite3.so.0.8.6 /usr/local/arm-linux/sqlite-arm-linux/lib/libsqlite3.so.0.8.6
(cd /usr/local/arm-linux/sqlite-arm-linux/lib && rm -f libsqlite3.so.0 && ln -s libsqlite3.so.0.8.6 libsqlite3.so.0)

``````````````````````

````````````````````````

`````````````````````````
/usr/bin/install -c -d /usr/local/arm-linux/sqlite-arm-linux/lib/pkgconfig;
/usr/bin/install -c -m 0644 sqlite3.pc /usr/local/arm-linux/sqlite-arm-linux/lib/pkgconfig;

注明: "# make install" 这一步将会在 /usr/local/arm-linux/sqlite-arm-linux/lib 生成库文件
2 sqlite3
嵌入式数据库的ARM-Linux移置详解

# cd lib
# file libsqlite3.so.0.8.6
libsqlite3.so.0.8.6: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
此时生成的sqlite文件是还未strip过的,你可以使用命令“file sqlite”查看文件信息。用strip处理过后,将去掉其中的调试信息,执行文
件大小也将小很多。命令如下:
# arm-linux-strip libsqlite3.so.0.8.6

另外可以生成帮助文档,以便以后查询。
# make doc

好了,这样我们已经编译出了


1.4
ARM板上运行sqlite

/usr/local/arm-linux/sqlite-arm-linux/bin/目录下的 sqlite3 文件下载到你的arm板上

Mount –t nfs 192.168.0.121:/home/ban/share /ban

Cp sqlite3 /var
方法很多,你需要根据自己的情况来选择。如ftp,nfs,串口等。

好,开始运行
chmod +wx sqlite
[root@51Board var]# ./sqlite3 zieckey.db
./sqlite3: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file
or directory

这里是因为刚刚编译时编译的是动态连接库形式的,所有我们还的将库文件下载到ARM板上。
/usr/local/arm-linux/sqlite-arm-linux/lib 目录下所有文件下到ARM板上。
再次运行,
[root@51Board var]# ./sqlite3 zieckey.db
./sqlite3: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file
or directory

还是出错,哦,我们没有设置环境变量,
假设我们下在库文件在ARM板上的 /usr/qpe/lib/ 目录下,这里设置环境就像下面:

[root@51Board var]# export LD_LIBRARY_PATH=/usr/qpe/lib:$LD_LIBRARY_PATH

好了这样就可以运行了:
[root@51Board var]# ./sqlite3 zieckey.db
SQLite version 3.0.8
Enter ".help" for instructions
sqlite>

看见
sqlite>
提示符号没有?成功了。哈哈!!
打个“.help”来看看命令先:-)
sqlite>.help
好了。现在sqlite已经在arm-linux下跑了起来。如何,感觉很high
阅读(2144) | 评论(0) | 转发(0) |
0

上一篇:Shell__字符串截取

下一篇:SQLITE用法

给主人留下些什么吧!~~