sqlite3在mini2440上的移植——基于ubuntu10.04
sqlite3在mini2440上的移植 一、开发环境:Mini2440,linux_2.6.32.2内核, ubuntu10.04,arm-linux-gcc-4.3.2 在http://www.sqlite.org/上下载sqlite源代码sqlite-3.6.22.tar.gz 二、移植步骤1.解压数据库源文件并进入解压后的目录,如下: tar -zxvf sqlite-3.6.22.tar.gz
cd sqlite-3.6.22
2.创建一个目录build并进入该目录,用于在这个目录中进行交叉编译,如下: mkdir build
cd build
3.在build目录中运行sqlite-3.6.22中的configure脚本生成Makefile文件,如下: ../configure --host=arm-linux --prefix=/root/sqlite-3.6.22/build/target
选项host指定的是用arm交叉编译器进行编译 选项prefix后面的路径是到时候编译安装后目标存放的目录,你可以任意设置 4.执行make和make install命令,如下: make
make install
出现问题: arm-linux-ranlib /usr/local/sqlite3/lib/libsqlite3.a ./libtool: line 6619: arm-linux-ranlib: command not found 错误,解决方法如下: sudo su //先切换到根用户
export PATH=$PATH:/usr/local/arm/4.3.2/bin //设置根用户的环境变量
编译和安装完后,在/root/sqlite-3.6.22/build/target目录中会生成三个目标文件夹,分别是:bin、include、 lib,然后分别将bin下的文件下载到开发板的/usr/bin目录中,lib下的所有文件下载到开发板的/usr/lib目录中即可。include目录下是sqlite的C语言API的头文件,编程时会用到。 5.在开发板上测试移植的sqlite数据库。登录开发板的Linux,执行: sqlite3 demo.db
sqlite3是一个sqlite的命令行访问程序,demo.db是新建的数据库的名字,必须以db作后缀。然后会看到下面的画面,说明移植成功。 三、测试1、新建数据库
蓝色部分为输入。 2、测试程序 这里以SQLite官方站点http://sqlite.org的quick start文档中的测试程序为例对移植到ARM-Linux上的SQLite3进行测试。该程序清单如下: //test_sqlite.c
#include <stdlib.h>
#include <stdio.h>
#include <sqlite3.h>
static int callback(void *NotUsed,int argc,char **argv,char **azColName)
{
int i;
for(i=0; i<argc;i++)
{
printf("%s = %s/n",azColName[i],argv [i]);
}
printf("/n");
return 0;
}
int main(int argc,char **argv)
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
if( argc!=3 )
{
fprintf(stderr,"Usage: %s DATABASE SQL-STATEMENT/n",argv[0]);
}
rc = sqlite3_open(argv[1],&db);
if( rc )
{
fprintf(stderr,"Can't open database: %s/n",sqlite3_errmsg(db));
sqlite3_close(db);
}
rc = sqlite3_exec(db,argv[2],callback,0,&zErrMsg);
if( rc!=SQLITE_OK )
{
fprintf(stderr,"SQL error: %s/n",zErrMsg);
}
sqlite3_close(db);
return 0;
}
使用如下命令编译测试程序: 交叉编译时采用arm-linux-gcc -I /……(安装路径)/include -L/……(安装路径)/lib -o target src -lsqlite3 arm-linux-gcc -o test_sqlite test_sqlite.c -lsqlite3 -L /opt/FriendlyARM/mini2440/sqlite-3.7.3/build/lib/ -I /opt/FriendlyARM/mini2440/sqlite-3.7.3/build/include/
3、在上面新建的数据库目录下测试:
1) 创建数据库文件:
就生成了一个test.db在d盘。 这样同时也SQLite3挂上了这个test.db 2) 用.help可以看看有什么命令
3)可以在这里直接输入SQL语句创建表格用;结束,然后回车就可以看到了 4)看看有创建了多少表
5)看表结构
6)看看目前挂的数据库
7)如果要把查询输出到文件
查询结果就输出到了文件c:/query.txt 把查询结果用屏幕输出
8)把表结构输出,同时索引也会输出
9)退出
转自http://blog.sina.com.cn/s/blog_a4f25cac01012ma8.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |