zoukankan      html  css  js  c++  java
  • 交叉编译SQLite3

    交叉编译SQLite3

    SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL 数据库引擎。 它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。 就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。 SQLite 直接访问其存储文件。
    SQLite是一个轻量级的库,且用C语言实现,它的数据库就是一个文件,这说明它非常适合使用在小型的嵌入式设备。

    SQLite3

    1、先编译SQLite3,先到SQLite的官网
    https://www.sqlite.org/download.html
    找到sqlite-src-3360000.zip下载并解压
    然后configure

    ./configure CC=arm-linux-gnu-gcc --host=arm-linux --prefix=/tmp/lib
    make && sudo make install
    cd /tmp/lib
    ls
    #返回 bin  include  lib
    

    然后把bin里面的sqlite3拷贝到设备的/bin目录下,运行

    $ sqlite3 database.db
    sqlite3: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
    

    提示需要zlib的库,看来SQLite依赖zlib运行

    libz和zlib是同一个东西都是表示名称叫z的库,以下不做解释

    zlib

    先到zlib的官网
    https://zlib.net/
    下载tar.gz的源码包
    然后解压
    这个要这么configure,不要问,问就是踩过坑

    $ export CC=arm-linux-gnu-gcc
    $ ./configure --prefix=/tmp/lib
    $ make && sudo make install
    $ cd /tmp/lib/lib
    $ ls
    libsqlite3.a  libsqlite3.la  libz.a  libz.so  libz.so.1  libz.so.1.2.11  pkgconfig
    

    然后把所有libz的库拷到板子的/lib目录下
    libz.a libz.so libz.so.1 libz.so.1.2.11
    然后再运行sqlite3就可以运行了

    简单尝试

    SQL一般以.(点)开头以;表示结束
    运行

    # sqlite3 test.db
    SQLite version 3.36.0 2021-06-18 18:36:39
    Enter ".help" for usage hints.
    sqlite> create table test (id int primary key,name char, age int);
    sqlite> select *from test;
    sqlite> insert into test values (1, 'zhangsan', 18);
    sqlite> select *from test;
    0|zhangsan|18
    sqlite> .exit
    

    简单解释
    create table test创建一个表,起名为test
    insert into test values (1, 'zhangsan', 18);录入一个行,name为zhangsan,age为18
    select *from test;选择test里面的所有匹配项
    .exit退出SQLite3应用
    具体的SQLite3可以看网上有很多的SQL的教程。

  • 相关阅读:
    C语言1博客作业03
    C语言1博客作业02
    C语言I博客作业08
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    第一次作业(重做)
  • 原文地址:https://www.cnblogs.com/nbtech/p/Cross-Compile_SQLite3.html
Copyright © 2011-2022 走看看