移植SQLite3到ARM40-A5

15 篇文章 0 订阅
13 篇文章 0 订阅
准备
  • 主机平台:Ubuntu 16.04 LTS(x64)
  • 目标平台:ARM40-A5D3
  • 编译工具链:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi
1、下载 SQLite3源码

选择SQLite3.24.0版本,下载sqlite-autoconf-3240000.tar.gz

./sqlite3/downloadsqlite3

2、解压源码包

先把下载的源码复制到主机(以 Ubuntu 为例),再进行解压。

$ cd
$ mkdir sqlite3                                      #在主机当前账户创建工作目录
$ cd sqlite3                                         #进入工作目录中
$ cp /media/sda1/sqlite-autoconf-3240000.tar.gz ./   #复制SQLite3源码到该目录下
$ tar xzvf sqlite-autoconf-3240000.tar.gz            #解压
$ cd sqlite-autoconf-3240000                         #进入解压后的目录
3、配置编译选项
$ mkdir ../install                                   #创建安装目录
$ export PATH=$PATH:/opt/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/        #交叉编译工具路径加入系统环境变量,必须!
$ ./configure --host=arm-linux-gnueabi --prefix=/home/jonny/sqlite3/install
  • –host: 指定交叉编译工具,一般为arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具体要和目标板用的交叉编译工具对应。
  • –prefix: 指定安装目录,编译后的文件会全部放在安装目录中。注意:必须是绝对路径!
4、编译
$ make
$ make install
5、去除调试信息
  • 使用交叉编译工具 strip 去除 sqlite3 的调试信息
$ cd ../install/bin
$ arm-linux-gnueabi-strip sqlite3
  • 压缩动态库 libsqlite3.so.0.8.6 文件。
$ cd ../lib
$ arm-linux-gnueabi-strip libsqlite3.so.0.8.6
6、复制文件

通过sftp、nfs或者U盘等方式,将 sqlite3 复制到目标板 /usr/sbin 目录,将动态库文件 libsqlite3.so.0.8.6 复制到目标板 /usr/lib 目录,并对动态库做链接。

root@ARM40:# cp sqlite3 /usr/sbin
root@ARM40:# cp libsqlite3.so.0.8.6 /usr/lib
root@ARM40:# cd /usr/lib
root@ARM40:# ln -s libsqlite3.so.0.8.6 libsqlite3.so.0
root@ARM40:# ln -s libsqlite3.so.0.8.6 libsqlite3.so
7、运行测试sqlite3

在目标板上执行 sqlite3 命令,看到如下信息说明 sqlite3 移植成功!

root@ARM40:# sqlite3
SQLite version 3.24.0 2018-06-04 19:24:41
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .quit
使用 .help 查看帮助,使用 .quit 退出 sqlite 命令。

感谢www.veryarm.com的无私奉献,以上内容均为参考“SQLite3移植到ARM Linux教程”修改而来。

参考引用
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLite-jdbc是一个用于在Java中访问SQLite数据库的驱动程序。它是一个纯Java实现的驱动程序,意味着它可以在任何支持Java的平台上运行。由于SQLite本身是一个轻量级的嵌入式数据库,它不需要像其他数据库那样运行一个独立的服务器进程。 SQLite-jdbc ARM版是专门为ARM架构的设备(如树莓派)而设计的版本。在ARM架构下,硬件资源受限,因此需要优化的驱动程序来提高性能和资源利用率。ARM版的SQLite-jdbc针对这些ARM设备进行了优化,以获得更好的性能和更低的资源消耗。 在使用SQLite-jdbc ARM版时,我们需要下载适用于ARM架构的驱动程序,并在项目中引入它。然后,我们可以像使用任何其他版本的SQLite-jdbc一样,通过Java代码来连接、查询和操作SQLite数据库。 例如,我们可以使用以下代码片段连接到SQLite数据库并执行查询: ```java import java.sql.*; public class Main { public static void main(String[] args) { Connection connection = null; Statement statement = null; ResultSet resultSet = null; try { // 加载SQLite JDBC驱动 Class.forName("org.sqlite.JDBC"); // 创建连接 connection = DriverManager.getConnection("jdbc:sqlite:/path/to/database.db"); // 创建语句对象 statement = connection.createStatement(); // 执行查询 resultSet = statement.executeQuery("SELECT * FROM table"); // 处理结果集 while (resultSet.next()) { // 处理每一行的数据 } } catch (Exception e) { e.printStackTrace(); } finally { // 关闭连接、语句和结果集 try { resultSet.close(); } catch (Exception e) {} try { statement.close(); } catch (Exception e) {} try { connection.close(); } catch (Exception e) {} } } } ``` 通过这样的方式,我们可以在ARM架构的设备上使用SQLite-jdbc ARM版来操作SQLite数据库。这使得我们可以在资源受限的环境中进行数据存储和查询操作,而无需额外的服务器和复杂的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值