1、交叉编译sqllite3可以先从官网下载最新最新的源码进行编译。sqlite3下载sqlite3有两种版本的源代码,sqlite-amalgamation-3300100.zip这种是将所有的操作放到sqlite3中进行使用的。虽然官方推荐使用这种方法。但是对于嵌入式移植还是使用sqlite-autoconf-3300100.tar.gz自动配置编译成so库来使用比较方便。
2、首先使用tar xzvf sqlite-autoconf-3300100.tar.gz解压源码。
3、进入解压后的目录。
4、./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指定源码交叉编译后生成文件的路径。
5、使用make和make install安装编译好的sqlite3的动态库。
6、将在 /usr/tmp/lib 目录下生成的 libsqlite3.so libsqlite3.so.0 libsqlite3.so.0.8.6三个so文件拷贝的,嵌入式开发环境的/lib/目录 或者程序运行依赖的lib目录下即可。
将/usr/tmp/bin 目录下的 sqlite3 应用程序拷贝到嵌入式开发环境下就可以运行并创建数据库了。
在使用虚拟机进行编译完成之后,当拷贝这几个文件到windows下是,VM虚拟机不让拷贝并报错。这种方式可以将这几个库压缩成一个压缩包,直接全部拷贝出来即可。

遇到的问题

1、在将库放到嵌入式之后,运行sqlite3 test.db命令的时候,会出现“SQLite header and source version mismatch”的问题。这个问题是在你的嵌入式环境中已经有一个sqlite3,需要使用你新编译的sqlite3来替换原来的。如果不知道老版本的sqlite3放置的位置,可以使用find命令全局搜索“libsqlite3*”的库,找到之后,使用新 编译的库代替原来的库。然后全局搜索“sqlite3*”找到老版本的sqlite执行程序,用新编译的代替,然后直接运行“sqlite3 test.db”即可执行成功。
2、如果在创建表的时候,想让主键有自动增加的功能,可以将主键的类型设置成“INTEGER” ,并在后面增加“AUTOINCREMENT”,在使用INSERT INTO的时候,将主键的值设置成null,就会在库中自动增加一个值。
具体可以参考以下链接https://www.cnblogs.com/zhw511006/archive/2010/09/08/1821596.html

sqlite3交叉编译相关推荐

  1. linux中sqlite3编译时出错,Sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决

    交叉编译sqlite到Android平台, Android.mk 文件内容如下: LOCAL_PATH:= $(call my-dir) INCDIR:=/home/android-ndk-r6b/s ...

  2. sqlite3 交叉编译出现configure: error: C compiler cannot create executables

    解决办法是:在配置交叉编译器的条件下,不要复制,手动输入就可以解决 参考博客: https://blog.csdn.net/xiongzhizhu/article/details/52372655

  3. sqlite编辑器 linux,SQLite3 ARM平台交叉编译

    编译前准备工作 平台及资源 主机环境:ubuntu 14.04 开发板 :米尔科技 ARM 335X 系列 SQLite:SQLite3.26 下载网址:https://www.sqlite.org/ ...

  4. Golang交叉编译Sqlite3踩坑记录

    Golang交叉编译Sqlite3踩坑记录 ,windows下编译golang go-sqlite3解决方案 众所周知Golang能够在一个平台编译不同平台可执行程序进行发布 然而在遇到需要内置处理程 ...

  5. 交叉编译sqlite3数据库移植到嵌入式rv1126或者地平线

    一.下载 首先到http://www.sqlite.org/download.html下载linux版本的源码:sqlite-autoconf-3380100.tar.gz. 二.解压 tar -xv ...

  6. Ubuntu实现树莓派交叉编译

    一.交叉编译 在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征:有时 ...

  7. linux交叉编译时报错:file not recognized: File format not recognized

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u011113596/article/d ...

  8. sqlite3.h:没有那个文件或目录

    vim /var/lib/gems/2.5.0/extensions/x86_64-linux/2.5.0/sqlite3-1.4.2/mkmf.log sqlite3.h:没有那个文件或目录 描述: ...

  9. 如何编译sqlite-3.5.9

    这几天在学习sqlite,所以相应做了一点笔记,也给大家一点意见. 1..环境介绍: 虚拟机:sun virtualbox linux版本:ubuntu9.10 交叉编译工具:cross-2.95.3 ...

最新文章

  1. 看了极光推送技术原理的几点思考
  2. linux内核SMP负载均衡浅析
  3. 为什么微服务一定要有网关呢?
  4. Azure 怎么开通FTP
  5. Day 13: Dropwizard —— 非常棒的Java REST服务器栈
  6. linux小工具(2)终端记录器script命令
  7. 二分查找法、顺序查找法
  8. 《直播疑难杂症排查》之三:首开慢
  9. P6378 [PA2010] Riddle(2-sat/前后缀优化建图)
  10. python网页开发好用吗_推荐用于Web开发的最好 Python 框架
  11. 您可能在2017年期待JavaScript会议
  12. LightGBM算法解析
  13. 程序员最应该读的图书
  14. foremost 原理和使用
  15. python 杨辉三角居中打印_利用python打印杨辉三角
  16. 卸载ie里的java_怎么样卸载IE10/IE11 两种方法教你快速卸载IE10/IE11
  17. openstreetmap website部署
  18. 声音与噪声(分贝、声功率、声强和声压)
  19. MySql delete多表关联删除的使用方法
  20. 【PDN仿真笔记8-使用Sigrity 进行DCR仿真的方法】

热门文章

  1. 软考信息系统项目管理师_历年真题_2021上半年错题集_前35道选择题---软考高级之信息系统项目管理师035
  2. SQL 多表联合查询,收藏直接起飞!
  3. 技术管理实战学习笔记(二)
  4. WINCC如何利用报警记录控件实现操作员操作记录功能(上)
  5. Java语言int型与byte型数组的转换
  6. u盘安装linux5.0,U盘安装Debian5.0.5基本系统
  7. Zemax | Zemax中导入CAD模型
  8. 使用SVM分类器做颜色分类走过的坑
  9. Google Earth Engine(GEE)——月度降水和ndvi植被覆盖度相关性分析(墨西哥为例)
  10. 浅谈 -128的原码 反码 补码