SQLite3在ubuntu16.04中的安装和SQLite3在mini2440中的移植

SQLite3在ubuntu16.04中的安装和mini2440上移植

SQLite简介

SQLite是一款轻型数据库,包含在一个相对较小的C库中。是一个完全独立、不需要服务器、不需要配置、支持SQL的、开源的文件数据库引擎。

SQLite3下载

源代码下载地址:https://www.sqlite.org/download.html

可在此地址下载最新版本的SQLite3源代码如下图所示:

Ubuntu16.04中安装

把源代码压缩包拷贝到自定义的目录中进行解压,源码包如图

进入压缩包目录进行解压:$tar -xvzf sqlite-autoconf-3240000.tar.gz

解压完成之后会在本目录出现一个目录:sqlite-autoconf-3240000

进入目录:$cd sqlite-autoconf-3240000

执行命令:$./configure --prefix=/use/local

--prefix选项是用来指定自定义安装目录的

也可直接执行:$./configure 

在执行:$make

最后执行:$make install

在执行make install的时候有可能会出现权限不够问题,需要加上sudo。

等待安装完成。

SQLite3测试

安装完成之后在终端中输入:$sqlite3

在当前目标下创建一个student.db数据库:

$sqlite3 student.db

sqlite>create table user(name,id);

sqlite>insert into user values(‘zhangsan’,0001);

sqlite>select * from user;

zhangsan|1

sqlite>

安装成功~~~~~~~~~~~~~

 

mini2440中移植SQLite3

进入目录:$cd sqlite-autoconf-3240000

生成Makefile:$./configure --prefix=/use/local/sqlite --host=arm-linux

--prefix选项是用来指定自定义安装目录的 

--host指定平台即ARM

在执行:$make

最后执行:$make install

执行完成后会生成四个目录如下所示:

bin中是sqlite3命令;

include中是头文件;

lib中是库文件;

share中是一个脚本文件

在开发板的根目录下的/opt下创建一个sqlite3的目录

$mkdir sqlite3

将四个文件夹都复制到其中

$sudo cp bin/ include/ lib/ share/ -r /root_path/opt/sqlite3

/root_path是自己开发板的根文件目录 

在开发板中添加环境变量/etc/profile

把/opt/sqlite3/bin添加到环境变量中,或者直接把bin下边的sqlite3命令拷贝到根目录下的/bin中

把/opt/sqlite3/lib添加到环境变量中,或者直接把下边的库文件拷贝到根目录下的/lib中

编写代码测试:

/*sqlite3.c*/

#include <stdio.h>

#include <sqlite3.h>

#include <stdlib.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 *message = 0;

int rc;

if(argc!=3)

{

fprintf(stderr,"Usage:%s DATABASE SQL-STARTEMENT\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,&message);

if(rc!=SQLITE_OK)

{

fprintf(stderr,"SQL error:%s\n",message);

}

sqlite3_close(db);

return 0;

}

编译程序:

$ arm-linux-gcc sqlite3.c -o sqlite_test -I ./include/ -L ./lib/ -lsqlite3

把sqlite_test传入开发板中执行如图所示:

 

注意:在配置环境变量的时候容易出错,会提示库找不到等信息,出错是需根据具体信息进行分析

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值