移植SQLite到ARM开发板

移植SQLite到ARM开发板,第1张

概述最近在搞移植数据库到开发板,上网一搜都是sqlite ,所以就用这个吧,记录一下,特别简单, 首先要确保开发环境是好的,交叉编译器,NFS文件系统挂载等, 下载sqlite源码, http://www.sqlite.org/quickstart.html 拷贝到UBUTUN系统里,解压 tar -xzvf sqlite-autoconf-3080403.tar.gz 进入目录 cd sqlite-

最近在搞移植数据库到开发板,上网一搜都是sqlite,所以就用这个吧,记录一下,特别简单,

首先要确保开发环境是好的,交叉编译器,NFS文件系统挂载等,

下载sqlite源码,

http://www.sqlite.org/quickstart.html

拷贝到UBUTUN系统里,解压

tar -xzvf sqlite-autoconf-3080403.tar.gz

进入目录

cd sqlite-autoconf-3080403/
配置编译

./configure --host=arm-linux --prefix=/gzz/cross_compile/sqlite --with-gnu-ld

/gzz/cross_compile/sqlite是为了编译库建的目录,

然后,make ;make install

然后进入/gzz/cross_compile/sqlite目录,把bin目录下的文件,lib目录下的.so库文件拷到开发板的文件系统下,

移植成功

测试:

启动开发板系统,我用的NFS挂载的文件系统

在终端输入sqlite3 stu.db建立数据库

然后输入CREATE tablestudent(name,num);建立一个数据表

列出数据表命令:

sqlite> .tables
student

检查成功创建的数据表

sqlite> insert into student (name,num) values ('aas',001);
sqlite> insert into student (name,num) values ('sss',002);

上面为在数据表中插入数据,

查看所建表中数据

sqlite> select * from student;
aas|1
sss|2

测试完成,应该是没什么问题,接下来学学它的API函数,封装如C++类中

参考博客网址http://www.jb51.cc/article/p-tgetgwxl-gw.html

http:

//www.linuxIDc.com/linux/2012-07/66854.htm

测试c程序

#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] ? argv[i] : "NulL");    }   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]);      return(1);    }    rc = sqlite3_open(argv[1],&db);    if( rc ){     fprintf(stderr,"Can't open database: %s\n",sqlite3_errmsg(db));      sqlite3_close(db);     return(1);   }    rc = sqlite3_exec(db,argv[2],callback,&zErrMsg);    if( rc!=sqlITE_OK ){      fprintf(stderr,"sql error: %s\n",zErrMsg);      sqlite3_free(zErrMsg);   }    sqlite3_close(db);    return 0;  }
ubutun下输入命令

arm-linux-gcc -I/gzz/cross_compile/sqlite/include -L/gzz/cross_compile/sqlite/lib test_sqlite.c -o test_sqlite -lsqlite3

编译成功

可执行文件拷到开发板,执行


[root@FrIEndlyARM /]# ./test_sqlite stu.db "select * from student"
name = aas
num = 1

name = sss
num = 2



   总结

以上是内存溢出为你收集整理的移植SQLite到ARM开发板全部内容,希望文章能够帮你解决移植SQLite到ARM开发板所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1172368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存