精华内容
下载资源
问答
  • 2021-09-13 17:09:14

    1、解压:sudo tar xvzf sqlite-autoconf-3071601.tar.gz  -C /opt

    2、进入解压后的目录:$ cd sqlite-autoconf-3071601

    3、执行:./configure CC=aarch64-linux-gnu-gcc --host=arm-linux --prefix=/opt/sqlite-autoconf-3071601/temp/

          说明:CC赋值为嵌入式开发环境所使用的交叉编译工具,--host指定软件运行环境为arm-linux, --prefix指定源码交叉编译后生成文件的路径。

    4、执行 sudo make && make install

    5、将在 /opt/sqlite-autoconf-3071601/temp/lib 目录下生成的 libsqlite3.so  libsqlite3.so.0  libsqlite3.so.0.8.6三个so文件拷贝的,嵌入式开发环境的/lib/目录 或者程序运行依赖的lib目录下即可。

           将/usr/tmp/bin 目录下的 sqlite3 应用程序拷贝到嵌入式开发环境下就可以运行并创建数据库了。

    6、编译程序 需要加上 -l sqlite3 这个链接选项。

     

    更多相关内容
  • poky-linux-gnueabi-gcc --host=arm-linux --prefix= /usr/tmp/ 说明:CC赋值为嵌入式开发环境所使用的交叉编译工具,--host指定软件运行环境为arm-linux, --prefix指定源码交叉编译后生成文件的路径。 五、执行 ...

    一、首先到http://www.sqlite.org/download.html下载linux版本的源码:sqlite-autoconf-3130000.tar.gz。

    二、解压:tar xvzf sqlite-autoconf-3130000.tar.gz

    三、进入解压后的目录:$ cd sqlite-autoconf-3130000

    四、执行:./configure CC=/opt/poky/1.6.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc --host=arm-linux --prefix= /usr/tmp/

    说明:CC赋值为嵌入式开发环境所使用的交叉编译工具,--host指定软件运行环境为arm-linux, --prefix指定源码交叉编译后生成文件的路径。

    五、执行 sudo make && make install

    六、将在 /usr/tmp/lib 目录下生成的 libsqlite3.so  libsqlite3.so.0  libsqlite3.so.0.8.6三个so文件拷贝的,嵌入式开发环境的/lib/目录 或者程序运行依赖的lib目录下即可。

    将/usr/tmp/bin 目录下的 sqlite3 应用程序拷贝到嵌入式开发环境下就可以运行并创建数据库了。

    七、编译程序 需要加上 -l sqlite3 这个链接选项。

    展开全文
  • 一、数据库介绍 1.1 数据库简介 数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据...

    一、数据库介绍

    1.1 数据库简介

    数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

    数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

    1.2 常用数据库介绍

    目前关系型数据库主要有MySQL、SQL Server、数蚕数据库、Oracle数据库。

    MySQL:免费产品,中小企业使用广泛。

    SQL Server:微软的商业化产品,微软SQL语句兼容性好,商业化成熟度高。

    数蚕数据库:数蚕科技针对中小型企业的数据库,c++接口特性良好,SQL特性较弱。

    Oracle 数据库:商业化程度最高的关系数据库, 优良的性能和企业扩展能力。

    SQLite数据库:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,不需要在系统中配置。

    1.3 sqlite数据库介绍

    SQLite数据库是一种嵌入式数据库,他的目标是尽量简单,因此它抛弃了传统企业级数据库的种种复杂特性,只实现对于数据库而言的必备的功能。

    尽管简单性是SQLite追求的首要目标,但是其功能和性能都非常出色,它具有这样一些特性:

    1. 支持ACID事务(ACID是Automic、Consisten、Isolated和Durable的缩写)
    2. 零配置,不需要任何管理性的配置过程
    3. 支持SQL92标准
    4. 所有数据存放单独的文件中,支持的最大文件可达2TB
    5. 数据库可以在不同字节的机器间共享
    6. 体积小
    7. 系统开销小,检索效率高
    8. 简单易用的API接口
    9. 可以和TCL、Python、C/C++、JAVA、Ruby、Lua、Perl、PHP等多种语言绑定
    10. 自包含,不依赖于外部支持
    11. 良好注释的代码
    12. 代码测试覆盖率高达95%以上
    13. 开放源码,可用于任何合法途径

    1.4 sqlite数据库可视化管理工具下载

    SQLite Administrator是一款轻量级的sqlite可视化工具,主要可用来管理SQLite数据库文件,可进行创建、设计和管理等操作,具有创建数据库、表、视图、索引、触发器、查询等内容的功能。

    SQLite Administrator提供的代码编辑器具有自动完成和语法着色,支持中文,可用于记录个人资料及开发 SQLite 数据。

    二、sqlite数据库编译安装(ARM)

    目标:  将sqlite交叉编译后部署到嵌入式开发板环境下运行。

    当前使用的目标开发板是: 友善之臂的tiny4412开发板,交叉编译器的版本是官方自带的4.5.1 

    宿主机采用的是Redhat6.3 、当然使用ubuntu、或者其他发行版都可以。

    2.1 SQLite数据库下载

    下载地址:  SQLite Home Page

     

     2.2 编译数据库(ARM)

    [wbyq@wbyq pc_work]$ tar xvf /mnt/hgfs/linux-share-dir/sqlite-autoconf-3250200.tar.gz
    [wbyq@wbyq pc_work]$ cd sqlite-autoconf-3250200/
    [wbyq@wbyq sqlite-autoconf-3250200]$ ./configure --host=arm-linux --prefix=$PWD/install
    [wbyq@wbyq sqlite-autoconf-3250200]$ make && make install
    [wbyq@wbyq sqlite-autoconf-3250200]$ tree install
    install
    ├── bin
    │   └── sqlite3
    ├── include
    │   ├── sqlite3ext.h
    │   └── sqlite3.h
    ├── lib
    │   ├── libsqlite3.a
    │   ├── libsqlite3.la
    │   ├── libsqlite3.so -> libsqlite3.so.0.8.6
    │   ├── libsqlite3.so.0 -> libsqlite3.so.0.8.6
    │   ├── libsqlite3.so.0.8.6
    │   └── pkgconfig
    │       └── sqlite3.pc
    └── share
        └── man
            └── man1
                └── sqlite3.1
    
    7 directories, 10 files
    [wbyq@wbyq sqlite-autoconf-3250200]$
    

     

    2.3 搭建编译环境和程序运行环境

     1. 将生成的库文件拷贝到开发板的lib目录下,方便开发板上执行包含数据库的可执行文件时,能找到动态库。

    [wbyq@wbyq sqlite-autoconf-3250200]$ cp install/lib/*.so* /home/wbyq/rootfs/lib/ -dvf
    "install/lib/libsqlite3.so" -> "/home/wbyq/rootfs/lib/libsqlite3.so"
    "install/lib/libsqlite3.so.0" -> "/home/wbyq/rootfs/lib/libsqlite3.so.0"
    "install/lib/libsqlite3.so.0.8.6" -> "/home/wbyq/rootfs/lib/libsqlite3.so.0.8.6"
    

     2. 为了交叉编译器在编译,包含数据库的源文件时,方便找到头文件和库文件,需要将生成的库文件和头文件分别拷贝到交叉编译目录下。

    [wbyq@wbyq sqlite-autoconf-3250200]$ 
    sudo cp 
    install/lib/*.so* /home/wbyq/work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/ -dvf
    
    [wbyq@wbyq sqlite-autoconf-3250200]$ 
    sudo cp 
    install/include/* /home/wbyq/work/arm-linux-gcc/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/include/ -fv
    

    2.4 编写例子代码

    #include <stdio.h>
    #include <sqlite3.h>
    
    /* callback函数只有在对数据库进行select, 操作时才会调用 */
    static int select_callback(void *data, int argc, char **argv, char **azColName){
       int i;
       printf("%s", (char*)data);
       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;
    	int err;
    	char *zErrMsg=0;
     
    	if(argc!=2)
    	{
    		printf("./app <数据库文件名称>\n");
    		return 0;
    	}
    	
    	/*1. 创建数据库*/
    	err=sqlite3_open(argv[1],&db);
    	if(err)
    	{
    		printf("Can't open database: %s\n", sqlite3_errmsg(db));
    		sqlite3_close(db);
    		return 0;
    	}
    	/*2. 使用字符串形式构造SQL语言*/
    	/*
    	CREATE TABLE 是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后跟着表的唯一的名称或标识
    	*/
    	char *sql = " CREATE TABLE TempData(               \
                            ID          INT PRIMARY KEY,   \
                            DS18B20Name CHAR(7),           \
                            Number      INT,               \
                            Time        CHAR(12),          \
                            Data 	    FLOAT       	   \
                    );";
    	/*3. 使用sql字符串指定的sql语言 创建数据表SensorData*/
    	sqlite3_exec(db,sql,0, select_callback , &zErrMsg );
    
    	/*4. 插入多条数据到数据表*/
    	sql = "INSERT INTO  'TempData'  VALUES(81,'DS18B20',3,'20191109114322',11.4);" ;
    	sqlite3_exec(db,sql,0,select_callback,&zErrMsg );
    
    	sql = "INSERT INTO  'TempData'  VALUES(84,'DS18B20',6,'20191109114323',22.4);" ;
    	sqlite3_exec(db,sql,0,select_callback,&zErrMsg );
    
    	sql = "INSERT INTO  'TempData'  VALUES(87,'DS18B20',9,'20191109114323',77.4);" ;
    	sqlite3_exec(db,sql,0,select_callback,&zErrMsg );
    	
    	/*5. 关闭数据库*/
    	sqlite3_close(db);
    	printf("数据库关闭成功.\n");
    	return 0;
    }
    

    2.5 程序编译测试

    all:
    	arm-linux-gcc sqlite_create.c -o app -lsqlite3
    	cp app /home/wbyq/rootfs/code
    	rm app -f
    

    进入到开发板的控制台终端测试程序。 

     

    展开全文
  • 交叉编译sqlite3数据库

    2021-09-09 17:25:48
    首先到官网下载 Linux 版本的源码:sqlite-autoconf-xxxxxxx.tar.gz,xxxxxxx 代表版本号,下载最新版本即可。...编译配置 $ ./configure CC=/usr/local/arm/bin/arm-linux-gcc --host=arm-linux --prefix=/usr/tm..
    1. 首先到官网下载 Linux 版本的源码:sqlite-autoconf-xxxxxxx.tar.gz,xxxxxxx 代表版本号,下载最新版本即可。

    2. 解压

      $ tar xvzf sqlite-autoconf-xxxxxxx.tar.gz
      
    3. 进入解压后的目录

      $ cd sqlite-autoconf-xxxxxxx
      
    4. 编译配置

      $ ./configure CC=/usr/local/arm/bin/arm-linux-gcc --host=arm-linux --prefix=/usr/tmp/
      

      CC 赋值为嵌入式开发环境所使用的交叉编译工具,--host 指定软件运行环境, --prefix 指定源码交叉编译后生成二进制的路径。

    5. 编译

      $ sudo make && make install
      
    6. 拷贝文件

      拷贝 /usr/tmp/lib 目录下生成的 libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6 三个库文件,放入到嵌入式开发环境的 /lib/ 目录,用于编译需要调用 sqlite3 数据库的应用程序。

      同时,还需要将上述的库文件放入到嵌入式运行环境中应用程序运行依赖的 lib 目录下。

      将 /usr/tmp/bin 目录下的 sqlite3 应用程序拷贝到嵌入式运行环境下,就可以运行并创建数据库,以及进行数据库操作。

    7. 编译程序

      需要加上 -lsqlite3 这个链接选项。

    展开全文
  • sqlite3交叉编译

    2022-03-21 10:58:41
    arm交叉编译
  • 简介说明:为什么需要使用到交叉编译?,因为目标ARM版上的ROM有限,并不支持gcc编译,就跟别提安装了,所以需要借助外来平台编译成目标机可运行的文件(库文件或可执行文件),直接丢到目标ARM板上运行即可
  • sqlite交叉编译

    2021-03-31 14:11:47
    sqlite autoconf源码 2、解压,创建目录unix用于生成x86平台库,aarch64用于生成arm平台库: build_unix build_aarch64 3、编译x86,进入build_unix目录,创建文件autogen.sh,并chmod +x autogen.sh,执行autogen....
  • 包含redis的源码,交叉编译,redis.conf的配置说明,以及hiredis的c++封装,直接使用,可专注于业务层面代码的实现,验证平台am57xx,linux-4.14.79,详细说明见的交叉编译移植以及hiredis的c++封装测试例程>>
  • Sqlite3交叉编译

    2020-11-20 11:49:45
    2、将交叉编译工具链安装 1、查看交叉编译器是否在环境变量中 加入环境变量的方法: 1、sudo vi /etc/bash.bashrc 2、输入export PATH=$PATH:/home/vmuser/gcc-4.4.4-glibc-2.11.1-multilib-1.0/ar
  • 由于 SupeSite 需要调用 Discuz! 和 UCHome 的数据,所以如果它们不安装在同一个数据库,SupeSite 的数据库用户必须要对 Discuz! 和 UCHome 的数据库有读取、修改、删除等权限。
  • Linux系统中GDBM数据库应用.pdf
  • 2.给新建数据库加密 sqlite3_key(db,“XXXXXX”,num);db为数据库指针,XXXXXX为密码,num为密码位数 3.给已有数据库加密 sqlite3_rekey(db,“XXXXXX”,num); 4.给加密数据库改密码 sqlite3_key(db,“XXXXXX”,num); ...
  • SQLite 交叉编译

    2021-04-28 09:30:38
    shell脚本一键交叉编译SQLite。
  • 交叉编译Qt中的mysql驱动库 今天将程序放到开发板中运行发现缺少了mysql驱动库,网上教程很多也很杂,这里写一写亲身的编译经历,希望可以帮助到大家。 一、 编译流程 1. 进入qt源码程序中mysql所在文件 $ cd $...
  • 根据Redis官网的说明,Redis 4系列及其以上的版本支持ARM...下面以Redis 5.0.10版本为例,说明Redis在ARM上如何编译,本人使用的是交叉编译环境。 1.在Redis官网下载Redis的源码包,如5.0.10版本源码包的路径为: http
  • PHP的MIPS交叉编译

    2021-04-13 13:59:45
    物联网内存吃紧,跑JVM这种内存大户肯定吃不消.要跑还是跑C实现的服务,比如...而PHP内置HTTP服务器和SQLite数据库,在无线路由器里对外提供HTTP服务丝毫没有问题.交叉编译PHP也很简单:cd /opt/miwifi/src/php-7.1.5CC...
  • 1、mysql交叉编译 2、交叉编译到arm平台 3、海思hisi3531dv200
  • gf框架使用sqlite3数据库交叉编译cgo适配arm64-linux 文章目录gf框架使用sqlite3数据库交叉编译cgo适配arm64-linux1. 前言2. 解决方案3. wsl+Windows交叉编译cgo工程3.1 简述cgo程序交叉编译3.2 安装交叉编译...
  • 交叉编译 mysql

    千次阅读 2020-03-25 17:59:27
    交叉编译 sqlite 源码 官网下载: https://www.sqlite.org/download.html 当前路径: /mnt/f/tools/sqlite3 此处我选用的是 linaro 的交叉编译链,即 arm-linux-gnueabihf-gcc , 具体的路径为 /opt/linaro-hf/bin/...
  • mysql交叉编译及移植
  • 注: 交叉编译工具链存放目录和交叉编译工具链 mipsel-openwrt-linux-gcc 存放目录都须加入 Ubuntu 环境 PATH 中, 以便调用; 操作步骤: 1. 解包 $tar xzvf ./sqlite-autoconf-3081101 2. 于 sqlite3...
  • 嵌入式linux交叉编译sqlite3,开发板使用sqlite数据库.
  • SQLite3 ARM平台交叉编译

    千次阅读 2019-01-15 16:17:28
    编译前准备工作 平台及资源 主机环境:ubuntu 14.04 开发板 :米尔科技 ARM 335X 系列 ...编译器:arm-linux-gnueabihf 交叉编译器最好选择开发板厂商提供的交叉编译工具链 配置交叉编译器的...
  • 编译和交叉编译curl

    2020-03-24 10:19:03
    在编译或交叉编译curl之前需要对应编译或交叉编译openssl,详细见: https://blog.csdn.net/qq_43603677/article/details/105064209 先下载curl安装包curl-7.69.1.tar.gz并解压安装包: tar vxf curl-7.69.1.tar.gz...
  • go语言交叉编译 - 附xgo踩坑之旅

    千次阅读 2021-03-01 16:21:18
    frp的交叉编译配置: env CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -trimpath -ldflags "$(LDFLAGS)" -o ./release/frpc_darwin_amd64 ./cmd/frpc GOOS: Target Operating System GOARCH:Target ...
  • sqlite交叉编译动态库

    2022-06-08 09:48:36
    交叉编译libsqlite3.so共享库
  • 交叉编译关键是选好你的平台CC,--prefix是编译后的安装目录,--host指明应用的平台。 然后: make make install 4、在build_result中查看编译结果 一般是四个文件夹: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,630
精华内容 11,052
关键字:

数据库交叉编译