精华内容
下载资源
问答
  • 简介说明:为什么需要使用到交叉编译?,因为目标ARM版上的ROM有限,并不支持gcc编译,就跟别提安装了,所以需要借助外来平台编译成目标机可运行的文件(库文件或可执行文件),直接丢到目标ARM板上运行即可

    SQLite源码编译安装与运行

    1. 首先到官网http://www.sqlite.org/download.html下载linux版本的源码:sqlite-autoconf-sqlite-autoconf-3300100.tar.gz。
      执行: wget https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz
    2. 解压:tar -zxvf sqlite-autoconf-3300100.tar.gz
    3. 进入解压后的目录:$ cd sqlite-autoconf-3300100
    4. 执行: CC=$CC ./configure --host=arm-linux --prefix=/usr/local/ --with-sysroot=/opt/myir-imx-fb-core/4.1.15-2.0.1/
      i. $CC为交叉编译工具链,如为空则需要加入到环境变量中source /opt/myir-imx-fb-core/4.1.15-2.0.1/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
      ii. CC赋值为嵌入式开发环境所使用的交叉编译工具,注:当前我使用的是米尔电子工具链仅供参考
      iii. --host指定软件运行环境为arm-linux
      iv.–prefix指定源码交叉编译后生成文件的路径。
      v. sysroot=SYSROOTS。这里的SYSROOTS为交叉编译工具链的路径
    5. 编译生成依赖库文件 make
    6. 安装到制定目录 make install
      i. 将在/usr/local/lib 目录下生成的libsqlite3.so 、libsqlite3.so.0 、libsqlite3.so.0.8.6三个.so文件拷贝到嵌入式开发环境的/usr/lib/ 目录下
      ii. 将/usr/local/bin/sqlite3应用程序拷贝到嵌入式开发环境/usr/bin下就可以运行并创建数据库了。
    7. 编译程序 需要加上 -l sqlite3 这个链接选项。
      执行: $CC sqlite3.c -l sqlite3

    写在最后,附上运行结果

    在这里插入图片描述

    展开全文
  •  说明:CC赋值为嵌入式开发环境所使用的交叉编译工具,--host指定软件运行环境为arm-linux, --prefix指定源码交叉编译后生成文件的路径。 五、执行 sudo make && make install 六、将在 /usr/tmp/lib 目录下...

    一、首先到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 这个链接选项。


    展开全文
  • mkdir -p /usr/sqlite3
  • sqlite是属于SQL系列的数据库,sqlite数据库占用内存空间小,多用在手机、嵌入式设备中,在openwrt内核中带有sqlite库,这也是openwrt系统的一大优点,当然也可以采用手动交叉编译的方式,可参考之前写的手动交叉...

    引言

    sqlite是属于SQL系列的数据库,sqlite数据库占用内存空间小,多用在手机、嵌入式设备中,在openwrt内核中带有sqlite库,这也是openwrt系统的一大优点,当然也可以采用手动交叉编译的方式,可参考之前写的手动交叉编译mosquitto的文章。因此本文只需要配置选用libsqlite3数据库即可,然后经过编译可以生产动态库、静态库、头文件等,编写程序的时候调用即可。

    一.配置内核

    在命令行进入openwrt源码目录中,输入内核配置命令 make menuconfig ,然后进入到 Libraries---->database---->,选中如下图所示的数据库,保存修改的配置,输入 make V=99 命令编译即可。

    二. 编译程序

    在编译完成以后会生成 sqlite3.h, libsqlite3.so, libsqlite3.so.0, libsqlite3.so.0.8.6 这四个文件存在不同的文件目录,在编译程序的时候有两种方式,两种方式均可以编译程序成功:

    A. 编译的时候指明其头文件和库的绝对路径

    B. 将 sqlite3.h 头文件放到交叉编译链的头文件目录中,将 libsqlite3.so, libsqlite3.so.0,  libsqlite3.so.0.8.6  这三个动态链接库放到交叉编译链的库文件目录

    生成的 sqlite3.h 在如下的路径中(o_o 注意自己的路径):

    /home/txle/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/sqlite-autoconf-3081101/ipkg-install/usr/include

    生成的 libsqlite3.so, libsqlite3.so.0, libsqlite3.so.0.8.6 在如下的路径中:

    /home/txle/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/sqlite-autoconf-3081101/ipkg-install/usr/lib

    交叉编译链头文件路径:

    /home/txle/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/include

    交叉编译链库文件路径:

    /home/txle/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib

    以上的路径实际情况是不同的,一定要准确找出自己的实际路径,不要盲目地 ctrl + c / v(复制/粘帖)

    假设所需要编译的程序为main.c, 对应 A 方式的编译命令为:

    mipsel-openwrt-linux-gcc main.c -o main -I /home/txle/openwrt/build_dir/target-
    mipsel_24kec+dsp_uClibc-0.9.33.2/sqlite-autoconf-3081101/ipkg-install/usr/include  
    -L /home/txle/openwrt/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/sqlite-
    autoconf-3081101/ipkg-install/usr/lib/ -lsqlite3

    假设所需要编译的程序为main.c, 对应 B 方式的编译命令为:

    mipsel-openwrt-linux-gcc main.c -o main -lsqlite3
    

    三.调试运行

    将可执行程序上传到开发板中,运行该程序如果提示缺少库文件的报错,将之前提到的 libsqlite3.so.0.8.6 动态库上传到开发板的 /usr/lib/ 目录中,并执行以下的命令即可解决该问题:

     ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
     ln -s libsqlite3.so.0.8.6 libsqlite3.so 

    sqlite3客户端程序运行的时候会创建一个 .db 结尾的数据库文件,如果宿主机系统中已经安装了sqlite3数据库,可以将

    生成的 .db 文件拷贝到宿主机中,执行下面的命令将 .db 文件变为 .sql文件,这样就可以在Mysql中查看该数据库.

    sqlite3 xxx.db .dump > xxx.sql

     

    展开全文
  • 物联网内存吃紧,跑JVM这种内存大户肯定吃不消.要跑还是跑C实现的服务,比如...而PHP内置HTTP服务器和SQLite数据库,在无线路由器里对外提供HTTP服务丝毫没有问题.交叉编译PHP也很简单:cd /opt/miwifi/src/php-7.1.5CC...

    物联网内存吃紧,跑JVM这种内存大户肯定吃不消.

    要跑还是跑C实现的服务,比如Nginx+PHP+SQLite.

    比如一些家用无线路由器,系统是Linux发行版OpenWrt,内存只有64MB到128MB,单核580MHz.

    而PHP内置HTTP服务器和SQLite数据库,在无线路由器里对外提供HTTP服务丝毫没有问题.

    交叉编译PHP也很简单:

    cd /opt/miwifi/src/php-7.1.5

    CC=mipsel-openwrt-linux-uclibc-gcc \

    AR=mipsel-openwrt-linux-uclibc-ar \

    LD=mipsel-openwrt-linux-uclibc-ld \

    RANLIB=mipsel-openwrt-linux-uclibc-ranlib \

    STRIP=mipsel-openwrt-linux-uclibc-strip \

    ./configure \

    --host=mipsel-openwrt-linux-uclibc \

    --prefix=/opt/miwifi/php/7.1 \

    --enable-cli \

    --disable-cgi \

    --disable-fpm \

    --disable-phpdbg \

    --disable-all \

    --with-sqlite3 \

    --with-pdo-sqlite \

    --enable-json \

    --enable-session \

    --enable-mbstring \

    --enable-bcmath

    当然了,PHP还有Swoole这种网络编程框架.

    http://www.oschina.net/news/85126/top-programming-languages-operating-systems-for-iot

    原文:http://www.cnblogs.com/findumars/p/6901802.html

    展开全文
  • 注: 交叉编译工具链存放目录和交叉编译工具链 mipsel-openwrt-linux-gcc 存放目录都须加入 Ubuntu 环境 PATH 中, 以便调用; 操作步骤: 1. 解包 $tar xzvf ./sqlite-autoconf-3081101 2. 于 sqlite3...
  • Nxdb的 用于.NET的高性能嵌入式XML数据库,具有完整的XQuery支持和强大的对象持久性框架(请注意,不再维护该项目) 。
  • 用的是TQ2440的开发板,在arm-linux-g++交叉编译时出现下面的错:No such file or directory.20: QSqlQuery: No such file or directory In function `bool createConnection():.error: `QSqlDatabase was not ...
  • 交叉编译关键是选好你的平台CC,--prefix是编译后的安装目录,--host指明应用的平台。 然后: make make install 4、在build_result中查看编译结果 一般是四个文件夹: ...
  • 4、下载源码并配置编译 git clone git://code.qt.io/qt/qtbase.git -b 5.8 cd qtbase ./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/...
  • 交叉编译 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/...
  • sqlite3交叉编译

    2017-12-11 14:21:53
    sqlite3交叉编译
  • 编译和交叉编译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...
  • SQLite 交叉编译

    2021-04-28 09:30:38
    shell脚本一键交叉编译SQLite。
  • 直接在Qt Creator中切换至Qt4.6.3(Embedded)工程中,点击build即可生成交叉编译版本的可执行程序cachedtable文件。 将cachedtable程序传入开发板中 ./cachedtable 运行,发现错误提示缺少共享库libts-0.0.so.0。...
  • 弄了一天终于搞定,一开始直接通过sudo apt-get install sqlite3下载软件,结果编译程序的时候总是找不到库文件所在,后来我感觉是因为我的libsqlite3-dev库文件版本和sqlite3软件版本不一样,而且通过sudo apt-get ...
  • MySQL交叉编译

    千次阅读 2012-08-31 08:58:43
    MySQL交叉编译 1、编译PC版本 主要用于在交叉编译过程中替换部分文件。 1) 解压文件 tar zxvf mysql-5.5.24.tar.gz -C LocalMySQL 2) 配置CMAKE cd LocalMySQL/mysql-5.5.24.tar...
  • SQLite3 ARM平台交叉编译

    千次阅读 2019-01-15 16:17:28
    编译前准备工作 平台及资源 主机环境:ubuntu 14.04 开发板 :米尔科技 ARM 335X 系列 ...编译器:arm-linux-gnueabihf 交叉编译器最好选择开发板厂商提供的交叉编译工具链 配置交叉编译器的...
  • 从mysql的mail list中看到mysql是不支持交叉编译的!唉!   在mysql的官网上逛,无意中在downloads页面下面,无意中看到有个 MySQL Connectors 的连接,心中一亮,靠!原来应下这个才对嘛!  Connector/C ...
  • buildroot之交叉编译环境

    千次阅读 2016-11-06 15:11:43
     为了搭建交叉编译环境,查了很多的方法,有自己搭建的(高手),有的用cross-ng工具的等等,最后查到了buildroot这个工具,最后为啥选择这个工具的原因是buildroot不仅能搭建交叉编译环境,而且还能编译内核,根文件...
  • sqlite3的交叉编译

    千次阅读 2015-07-28 13:19:08
    比如说我们在qtcreator中编写程序的时候想用到sqlite3数据库,但是因为qtcreator中的编译器中的库中并没有sqlite3的库,所以肯定编译不了,所以若想在qtcreator中编译sqlite3的...有sqlite3交叉编译的压缩包,解压到/o

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,139
精华内容 10,055
关键字:

数据库交叉编译