移植SQLite到ARM开发板

2024-06-23 06:08
文章标签 移植 arm sqlite 开发板

本文主要是介绍移植SQLite到ARM开发板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在搞移植数据库到开发板,上网一搜都是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 TABLE student(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://blog.csdn.net/jianchi88/article/details/7037524

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, 0, &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开发板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086346

相关文章

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

sqlite不支持中文排序,采用java排序

方式一 不支持含有重复字段进行排序 /*** sqlite不支持中文排序,改用java排序* 根据指定的对象属性字段,排序对象集合,顺序* @param list* @param field* @return*/public static List sortListByField(List<?> list,String field){List temp = new ArrayList(

bash: arm-linux-gcc: No such file or directory

ubuntu出故障重装了系统,一直用着的gcc使用不了,提示bash: arm-linux-gcc: No such file or directorywhich找到的命令所在的目录 在google上翻了一阵发现此类问题的帖子不多,后来在Freescale的的LTIB环境配置文档中发现有这么一段:     # Packages required for 64-bit Ubuntu

编译linux内核出现 arm-eabi-gcc: error: : No such file or directory

external/e2fsprogs/lib/ext2fs/tdb.c:673:29: warning: comparison between : In function 'max2165_set_params': -。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。 。。。。。。。。 host asm: libdvm <= dalvik/vm/mterp/out/Inte