博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
迅为4412开发板sqlite3移植
阅读量:4108 次
发布时间:2019-05-25

本文共 2012 字,大约阅读时间需要 6 分钟。

1 sqlite3源码下载

sqlite-autoconf-3250200.tar.gz

2 sqlite3源码编译

$ tar -zxvf sqlite-autoconf-3250200.tar.gz

$ cd sqlite-autoconf-3250200
$ touch
内容如下:

#!/bin/sh./configure --host=arm-none-linux-gnueabi \--disable-static \--prefix=/usr/sqlite3arm  ##/usr/sqlite3arm为预先设定好的目录,用于保存make和make install生成的文件make && make install

$ chmod 755 && ./build.sh

3 sqlite3移植

拷贝/usr/sqlite3arm/bin/sqlite3到开发板的/usr/bin目录下

拷贝/usr/sqlite3arm/lib/*.so*到开发板的/usr/lib目录下
说明:如上步骤在制作根文件系统时候就应该完成了,我由于挂载了nfs,是直接copy的

4 sqlite3测试

4.1 命令行测试

在这里插入图片描述

相关命令行:

// 帮助.help// 建表CREATE TABLE "stu_tb" ("id" INTEGER PRIMARY KEY NOT NULL,"name" TEXT NOT NULL,"phone" INTEGER NOT NULL,"gid" INTEGER NOT NULL);// 查表SELECT * FROM stu_tb// 插入信息INSERT INTO stu_tb VALUES(0002,'simon',12345678901,1);...// 退出.exit

4.2 C语言调用测试

在这里插入图片描述

测试代码参考:

#include 
#include
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)); 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;}

测试代码编译:

$ arm-none-linux-gnueabi-gcc mySqlite3.c -lsqlite3 -L/usr/sqlite3arm/lib -I/usr/sqlite3arm/include -o sqlarm## arm-none-linux-gnueabi-gcc 自己设定的交叉编译器## /usr/sqlite3arm/lib:交叉编译sqlite3时的路径参考文章开头## /usr/sqlite3arm/include:交叉编译sqlite3时的路径参考文章开头
你可能感兴趣的文章
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>
maven多工程构建与打包
查看>>
springmvc传值
查看>>
Java 集合学习一 HashSet
查看>>
在Eclipse中查看Android源码
查看>>
Android-Socket登录实例
查看>>
Android使用webservice客户端实例
查看>>
层在页面中的定位
查看>>
[转]C语言printf
查看>>
C 语言 学习---获取文本框内容及字符串拼接
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>