.help可打印出帮助文档

.quit就可以退出sqlite3,回来shell界面


嵌入式数据库SQLite移植到S3C2410的方法

以下是本人的工作目录,可根据自己的情况进行调整。

1.交叉编译环境建立:用于交叉编译sqlite

安装cross-2.95.3.tar.bz2交叉编译工具到/usr/local/arm目录下。

解压sqlite-3.3.8到/usr/localsqlite-arm/sqlite-3.3.8,并创建文件夹

cd /usr/localsqlite-arm/sqlite-3.3.8 

mkdir sqlite-arm-linux(此文件夹路径可自定)

2.vi configure进行修改,或者通过gedit来打开此文件

20420行 { (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }

20446行 { (exit 1); exit 1; }; }改为 { (echo 1); echo 1; }; }

接下就可以执行./configure --disable-tcl --prefix=/usr/local/sqlite-arm/sqlite-plant/ --host=arm-linux


结果出现了如下错误: 

configure: error: unable to find a compiler for building build tools 
前面检查arm-linux-gcc都通过了,怎么还说没有找到呢?花了点时间看configure的脚本,太复杂了,又结合configure.ac看了一下。原来是要设置config_TARGET_CC和config_BUILD_CC两个环境变量。config_TARGET_CC是交叉,config_BUILD_CC是主机

重来: 
[root@linux sqlite-3.3.4]# export config_BUILD_CC=gcc 
[root@linux sqlite-3.3.4]# export config_TARGET_CC=arm-linux-gcc 
再编译一次,这下就正常了

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

make

make install

然后就可以在

/usr/local/sqlite-arm/sqlite-plant/

目录下面看到三个文件夹,bin lib include,这就是我们需要移植到开发板上的文件最好

库文件已经生成在为了减小执行文件大小可以用strip处理,去掉其中的调试信息。
arm-linux-strip libsqlit3.so.0.8.6
arm-linux-strip sqlite3
移植
需要注意:
拷贝是需要加上 –arf选项,因为libsqlite3.so,libsqlite3.so.0是链接到libsqlite3.so.0.8.6的。
cd /usr/local/sqlite-arm/sqlite-plant/lib
cp –arf libsqlite3.so libsqlite3.so.0. libsqlite3.so.0.8.6 /sqlite-for-plant
cd /usr/local/sqlite-arm/sqlite-plant/bin
cp sqlite3 /sqlite-for-plant
我是将要移植的文件都放到了sqlite-for-plant下面了,这里可根据自己情况。

然后把sqlite3和lib下的库文件移植到ARM上

在ARM板上运行sqlite

将qlite3文件下载到你的arm板上,

方法很多,你需要根据自己的情况来选择。如ftp,nfs,串口等。 好,开始运行

chmod +wx sqlite

[root@www.linuxidc.com]# ./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@www.linuxidc.com]# ./sqlite3 zieckey.db

./sqlite3: error while loading shared libraries: libsqlite3.so.0: cannot open shared object file: No such file or directory

还是出错,哦,我们没有设置环境变量,

我是通过nfs挂载到开发板的,要移植的文件都挂载到/etc下目录sqlite-for-plant里面了

假设我们下在库文件在ARM板上的 /etc下的目录sqlite-for-plant里面,

这里设置环境就像下面:

[root@www.linuxidc.com]# export LD_LIBRARY_PATH=/etc/sqlite-for-plant:$LD_LIBRARY_PATH 好了这样就可以运行了:

[root@www.linuxidc.com]# ./sqlite3

SQLite version 3.3.8

Enter ".help" for instructions

sqlite>

ok ,这就成功了。
GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐