移植SQLite到ARM开发板

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

本文主要是介绍移植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

相关文章

移植对话框MFC

VC版 MFC程序对话框资源移植 以下均拷贝自上面,仅用来记录 (部分有删除) 法1: Eg:将B工程调试好的对话框移植到A工程中 1.资源移植         1.1  在2017打开B工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件,按Ctrl+C或点击Edit->Copy.         1.2. 关闭当前工程,注意不要关闭VC6,打开B工程(File

基于imx6ull开发板 移植opencv4.7.0

一、概述 本章节是针对opencv-4.7.0移植到Linux系统,运行在正点原子-I.MX6U ALPHA开发板 上,详细的移植流程如下。 二、环境要求 2.1 硬件环境 正点原子-I.MX6U ALPHA开发板虚拟机:VMware 2.2 软件环境 Ubuntu系统要求:20.04opencv版本: 4.7.0opencv贡献软件版本:4.x交叉工具链版本:gcc-linaro-6

conda环境的备份和移植

备份和移植 Conda 环境可以通过以下步骤实现: 克隆环境 conda create --name backup_myenv --clone myenv# 删除原环境# conda remove --name myenv --all 移植 Conda 环境 方法1:使用 environment.yml 文件移植环境 # 导出环境的依赖项conda env export --na

ARM-V9 RME(Realm Management Extension)系统架构之系统初始化流程

安全之安全(security²)博客目录导读 目录 一、重置取消 二、应用处理单元(PE)初始启动 三、MSD初始化 四、GPT初始化 五、初始启动退出(由所有应用PE执行) 六、RMSD初始化 七、PE进入丢失上下文的低功耗状态 本博客提供了RME系统初始化流程的示例,并描述了系统组件之间的关系以及系统启动序列的相应安全注意事项,不包括有关安全启动序列或软件测量流程的具体细

52、U-boot2023的移植教程

uboot:https://ftp.denx.de/pub/u-boot/ nxp-uboot:https://github.com/nxp-imx/uboot-imx 1、顶层Makefile  文件加入编译的两种方式:以xxx/xxx.c文件为例         1、使用menuconfig:               先编辑.c所在目录下的Kconfig,加入配置项xxx

将OpenCV的代码从C++移植到C语言过程小记

目录 1、需求背景2、移植成C语言2.0 移除namespace特性2.1 移除template特性2.2 移除class特性2.3 移除vector特性2.4 移除std函数2.5 移除引用传值2.6 移除auto类型推导2.7 C++中的关键词2.8 其他语言差异 3、测试和杂项3.1 C语言和C++编译兼容3.2 GCC用C语言规则编译源文件3.3 修改文件名后缀 4、最终代码

ARM Developer Suite 卸载后再次安装问题

第一次安装ARM Developer Suite 时,由于安装失败,于是先卸载ADS,再重新装。 结果,无论怎么卸载后,再次运行安装ADS时,都只进下图界面: 弄了一上午最终才将问题解决: 首先点击开始->运行->cmd ->确定,见下图: 输入:regedit 再回车键: 进入下图,即进入注册表: 这时为了防止因操作出错而导致的严重后果,我们需要对注册表进行备

cocos2dx移植android平台

尊重版主:http://www.cocoachina.com/bbs/read.php?tid=195182 Cocos2D-X SimpleGame & 初学者教程:http://cocos2d.cocoachina.com/resource/show?nid=82 本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦

linux内核开发板启动流程

声明:本文章是整理网上的资料和自己的理解 很早买了tiny6410开发板,内核使用配置好的,在内核Linux 2.6源码中包含了S3C6410 的驱动,最近想在自己的板子上移植Linux内核(内核源码没有中相关的配置),一直找不到思路,不知道Linux内核如何启动去配置相关的驱动的,在阅读内核启动的流程过程中(重点关注针对不同板子的驱动的加载流程,参考网上文章和博客),发现Linux的的板级的驱

移植SDL2_ttf到ARM

下载最新源码,最新的才支持SDL2 然后执行命令,,编译通过,,,,前期准备是要成功安装freetype 和sdl2 ./configure --prefix=/gzz/cross_compile/SDL --host=arm-linux --with-sdl-prefix=/gzz/cross_compile/SDL --with-freetype-prefix=/gzz/cross_co