linux下的sqlite3的编译安装 for arm

Qt4.5.1触摸屏(tslib 1.4)+sqlite3 移植全记录 主机系统:Debian 5.0主机编译器:gcc/g++为4.1.3交叉编译器:arm-linux-gcc/g++3.4.5-glibc-2.3.6软件资源:qt-embedded-linux-opensource-src-4.5.1.tar.gz                qt-x11-opensource-src-4.5.1.tar.gz               阅读详情

第一步 sqlite在arm-linux下的编译

1、下载sqlite-amalgamation-3.3.8.tar.gz 

2、确认arm-linux-toolchains.tgz 已经安装到你的linux系统,没有安装的请到http://www.arm9.com.cn/temp/arm-linux-toolchains.tgz 下载安装; 

同时你可以用命令which arm-linux-gcc检查 (下面是我的检查结果)

/usr/local/arm/2.95.3/bin/arm-linux-gcc

通过上面的检查后我们知道编译器的路径,这样如果我们有必要的话可以按照下面的命令来设置交叉器环境变量。

# export PATH=/usr/local/arm/2.95.3/bin/:$PATH

 

3、建立目录,解压下载的sqlite-amalgamation-3.3.8.tar.gz(解压:tar -xfzv  压缩:tar -cfzv)

 

4、在解压目录下建立build文件夹(mkdir)

 

5、build文件目录下运行配置命令

# ../configure --host=arm-linux --prefix=/root/sqlite-3.3.8/build --disable-tcl

这个是执行build文件目录下的configure命令,--host=arm-linux意思是使用交叉编译器 ,--disable-tcl屏蔽tcl接口。

这个时候就会在build目录之下生成:config.log,config.status,libtool,Makefile四个文件。

如果出现了如下错误:configure: error: unable to find a compiler for building build tools  前面检查arm-linux-gcc都通过了,怎么还说没有找到编译器呢?

结合configure.ac看了一下,原来是要设置config_TARGET_CC和config_BUILD_CC两个环境变量。config_TARGET_CC是交叉编译器,config_BUILD_CC是主机编译器。  [root@linux sqlite-3.3.4]# export config_BUILD_CC=gcc 

 [root@linux sqlite-3.3.4]# export config_TARGET_CC=arm-linux-gcc 

[root@linux sqlite-3.3.4]# ./configure --host=arm-linux --prefix=$ROOTFS_DIR/usr --disable-tcl   

   注:这个地方有个--disable-tcl选项,是因为在sqlite给我们提供的有c接口和tcl接口的,但是我们在实际的应用中用的只有c接口的,而tcl接口其实是不必要用的,故在此加上此选项后可以减去生成的makefile中屏蔽掉关于tcl的选项这一操作。   

  出现了如下错误:  checking for /usr/include/readline.h... configure:  error: cannot check for file existence when cross compiling 

 readline我们已经编译过了,readline.h是肯定存在,没有必要检查。可在cache文件里设置ac_cv_header_readline_h=yes,骗过configure脚本:

[root@linux sqlite-3.3.4]# echo ac_cv_header_readline_h=yes >arm-linux.cache

  [root@linux sqlite-3.3.4]#./configure --host=$ARCH-linux –prefix = $ROOTFS_DIR/usr –disable-tcl --cache-file=arm-linux.cache 

 这回配置成功了

 6、继续运行# make && make install

有的机器上会出现下列错误:  libtool: compile: unable to infer tagged confi- guration libtool: compile: specify a tag with `--tag'  这时检查一下libtool里的CC变量是否设置为arm-linux-gcc,如果不是,可以手工改过来,或者设置环境变量lt_compiler=arm-linux-gcc,重新配置一下。   事实上我们所需烧写在板子上的是库文件 sqlite.so、sqlite.so.0、sqlite.so.0.8.6 要放入板子/lib 目录。

注明: "# make install" 这一步将会在 /root/sqlite-3.3.8/build/bin生成二进制可执行文件sqlite3 , /root/sqlite-3.3.8/build/include生成头文件sqlite3.h,以及在/root/sqlite-3.3.8/build/lib 生成libsqlite3.a静态库文件和libsqlite3.so.0,libsqlite3.so.0.8.6动态库文件等。

可以将sqlite3和lib中的文件拷贝到你的arm板上,使用命令./sqlite test.db运行

会出现
sqlite>
提示符号,打个“.help”来看看命令先:-)
sqlite>.help
好了。现在sqlite已经在arm-linux下跑了起来

 

 

8、交叉编译应用应用程序

arm-linux-gcc –o exam.out  exam.c –I /root/sqlite-3.3.58/build/include –L /root/sqlite-3.3.8/build/lib -lsqlite3

 

9.运行编译后的程序

由于上面是动态编译所以必须把库文件(libsqlite3.so.0)也下载到目标板。

(1)可以把库文件放到/lib目录之下

(2)也可以放到其他地方然后用环境命令进行设置:

# export LD_LIBRARY_PATH=/root/sqlite-3.3.58/build/lib:$LD_LIBRARY_PATH

(3) 修改Linux系统文件/etc/ld.so.conf,添加sqlite库文件位置 /usr/local/lib 到此文件里面。然后重起或者运行ldconfig 重新读取配置。

有了库文件编译后的应用程序就可以运行了:

./ exam.out  tex.db

./ exam.o  tex.db

 

注:如果说你没有按照上面新建一个build目录的步骤进行编译,可能会出现如下之类的错误:

找不到sqlite3_***操作函数。

/bld/simple.o: In function `main': 
/bld/simple.o (.text+0xd5): undefined reference to `sqlite3_open' 
/bld/simple.o: undefined reference to `sqlite3_close'

解决办法:

1)在编译的时候忘记执行make install一步,导致库文件没有被放置到正确的地方。

2)能是编译时候configure没有配置正确,导致在后期的make操作将sqlite编译出问题。

3)没有正确找到库文件。可以使用如下的方式将其全部路径加入编译命令中。行如:

gcc simple.c -o simple -L/< your directory>/bld/.libs/ -lsqlite3

 

参考:http://blog.chinaunix.net/u2/76480/showart_1132777.html

等等一些写的不错的文章

ARM下的sqlite3交叉编译实例 系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例 阅读详情

相关推荐

数据库sqlite3.7.3 在PC端 和开发板arm的安装及编译

1、下载源代码http://www.sqlite.org/download.html 2、tar -zxvf sqlite-amalgamation-3.6.23.1.tar.gz 3、进入sqlite-3.6.23.1 4、mkdir build 5、cd build 6、../configure --host=arm-linux --prefix=/usr/loc

GN202的专栏 1112

SQLite3 ARM平台交叉编译

编译前准备工作 平台及资源 主机环境:ubuntu 14.04 开发板 :米尔科技 ARM 335X 系列 SQLite:SQLite3.26 下载网址:https://www.sqlite.org/2018/sqlite-autoconf-3260000.tar.gz 编译器:arm-linux-gnueabihf 交叉编译器最好选择开发板厂商提供的交叉编译工具链 配置交叉编译器的...

weixin_43862419的博客 3284

SQLite3移植STM32MP157 ARM开发板

SQLite3移植STM32MP157 ARM开发板

qq_17833651的博客 1834

Linux(Centos7) 源码安装subversion-1.12.0,https访问

1.安装依赖包及下载软件包 1.1安装依赖包 yum -y install make openldap-devel ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf bzip2-devel ncurses-devel openssl-devel libtool* zlib-devel libxml2-devel libjpeg-dev...

myfq123456的博客 677

python3.8如何在windows,linux,arm64(Ubuntu)安装GDAL

a. 安装sqlite-autoconf-3410000.tar.gz,先找到sqlite-autoconf-3410000.tar.gz这个tar文件,然后放到某目录下,先利用tar -xzvf解压缩文件,然后cd到sqlite-autoconf-3410000目录下。然后输入./configure, 完成后没有报错就输入make (make -j4会快一些),进行编译,编译过程会比较慢,半小时到一小时,结束后没有报错,就可以输入sudo make install。3.1. 如果开发板可以。

2401_84417159的博客 3354

sqlite3 配置交叉编译环境

sqlite3 配置交叉编译环境 大体上分为三个步骤:1.在虚拟机上配置交叉编译环境arm-linux-gcc;2、安装和配置在交叉编译环境下的sqlite3;3.通过nfs挂载测试程序。三个步骤都必须成功才行,才能配置成功。   1.在虚拟机上配置交叉编译环境 以Ubuntu13.0为例,我们找到光盘里面arm-linux-gcc的安装包,并把这个包导入Ubuntu虚拟机。导入的方法有很

PrinceCat2012的专栏 2279

Linux中安装配置SQLite3,并实现C语言与SQLite3的交互。

Linux中安装配置SQLite3,并实现C语言与SQLite3的交互,实现交叉编译ARM Linux下的SQLite3.

沃和莱特的博客 3238

移植nginx+php+sqlite到arm linux(一)

1.概述:  经过一段时间的摸索,终于把Nginx+Php+Sqlite移植到ARM(Linux)的环境中并验证成功。   虚拟机环境:ubuntu 10.04   交叉编译器:arm-linux-gcc-4.5.x   ARM硬件平台:ARM9   ARM系统:linux 2.6.x   由于篇幅较多,本篇文章只介绍nginx交叉编译和验证的部分。  2.交叉编译 交叉编译Ngin

LN-Curiosity 6082

手把手教--Arm Linux 开发板数据库 Sqlite3 的移植

ARM Linux 开发板上安装 SQLite 的两种方式。

weixin_46158019的博客 2646

搭建SQLite3开发环境和ARM开发

在本文中,我们将详细介绍如何搭建SQLite3开发环境,并针对ARM开发进行配置。通过按照上述步骤,您已经成功搭建了SQLite3开发环境,并进行了ARM开发的配置。现在,我们已经准备好使用SQLite3进行开发了。在开始使用SQLite3进行开发之前,我们需要创建一个数据库。程序将连接到"mydatabase.db"数据库,并执行SELECT语句,返回所有"users"表中的数据。首先,我们需要安装SQLite3的开发包。该命令将打开SQLite3的命令行终端,并创建一个新的数据库文件。

LklAngular的博客 463

平衡电桥检测高压绝缘电阻的原理

检测绝缘漏电的高压拓扑如下:BMU需要连接BAT+,BAT-和PE线,并测量电池总压(Ubatt)和负母线电压(Un),并计算出正母线电压(Up)。

booksyhay的专栏 1万+

Linux下交叉编译sqlite3并移植到ARM

交叉编译sqlite3的目的(作用):能在x86的平台下交叉编译出能在ARM开发板运行的程序。 将sqlite3移植到ARM的目的(作用):能在ARM开发板上建数据库和对数据库进行增删查改。 交叉编译sqlite3 安装的操作过程基本跟在Linux下安装x86平台的sqlite3一样:Linux下安装sqlite3 当然,安装之前你得确认你的系统有交叉编译工具链,可以通过命令 arm-linux-...

son012的博客 1069

TS808效果器制作教程

TS808效果器制作教程 可以在立创商城购买到大部分的电阻电容和IC,音频接口,踩钉,电位器和电源接口可以去某宝看看都买得到的。链接https//pan.baidu.com/s/1QId1eIE3fJ2u5NLBSISvGA。安装过程过于繁琐,把所有元器件按照图纸焊接完成就可以调试了,祝你们成功!这是TS808经典效果器制作过程的记录。IC是JRC4558。...

qq_18948149的博客 3427

apache+sqlite+php for Arm Linux

  经过几天的努力终于在arm-linux平台上搭建了apache+sqlite+php平台.apche与sqlite网上有不少资料,而php for arm-linux很少.为了在arm平台上安装php发了不少时间.所以将搭建过程发表在此,希望对大家有所帮助.Sqlite for Arm Linux安装1、 下载sqlite3.3.8:请到http://www.sqlite.org/

cdqy的专栏 1万+

【自动驾驶学习笔记——Prescan和Simulink 学习笔记和问题记录(1)】

主要记录一些Prescan/Simulink 联合仿真出现的问题。

ly1336545868的博客 1465

工业缺陷检测的新范式:2025-2026年零样本检测技术全景扫描

摘要: 工业视觉领域面临缺陷样本稀缺、标注成本高等痛点,零样本缺陷检测(Zero-Shot Defect Detection)成为研究热点。2025-2026年的技术进展主要分为三类:1)视觉-语言模型(VLM)路线,如CLIP适配器跨域对齐热成像数据;2)数字孪生路线,通过CAD模型生成理想状态对比检测缺陷;3)基于CLIP的提示学习,如Crane模型通过上下文提示提升泛化能力。尽管实验室效果显著(如IoU达70%),但在真实工业场景(如MIRAD数据集)中性能平均下降29.78%,凸显跨域泛化仍是挑战。

blanokvaffy的博客 1145

Sqlite3交叉编译

一、准备工作 本次使用ubuntu18.04和 "arm-fsl-linux-gnueabi-"交叉编译器 1、下载Sqlite3 在https://www.sqlite.org/download.html里下载Sqlite3 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

优快云_dyq111的博客 4357

Codex 100个真实案例 - 全系列总结与Codex最佳实践全解析

历经100个案例的淬炼,我们终于来到了终点!本篇是整个系列的压轴之作——全面回顾100个案例的分类统计、提炼Codex使用的核心技巧和最佳实践、总结Prompt工程的精华要点、剖析常见错误及解决方案、展望AI编程的未来趋势,并为不同水平的读者规划学习路径。这不仅是一篇总结,更是一本Codex实战手册!

yueyeguzhuo的专栏 136

sqlite3库的编译及交叉编译(Ubuntu)

1、下载源码包  浏览器进入sqlite官网:https://www.sqlite.org/download.html 点击 sqlite-autoconf-xxx.tar.gz下载源码包。 2、解压 # ​​​​​​​tar zxvf sqlite-autoconf-3260000.tar.gz 3、创建库输出目录 # mkdir linux_build //用于liu...

fangye945a的博客 3858

使用 MATLAB/Simulink + Deep Learning Toolbox,构建一个基于LSTM的电网负荷预测模

本文介绍了一个基于Simulink和深度学习的智能电网负荷预测与调度建模方法。通过LSTM神经网络构建负荷预测模型,将历史负荷、天气、日期等特征作为输入,预测未来24小时负荷。然后将训练好的模型集成到Simulink仿真系统中,结合发电单元模型和经济调度逻辑,实现预测驱动的电力调度优化。实验结果表明,该方法预测误差在2.5%-4.0%之间,相比传统调度方式可降低15%-25%的运行成本。文章详细展示了从数据准备、特征工程、模型训练到系统集成的完整流程,为智能电网中AI技术的应用提供了实用参考。

amy_mhd的博客 171

Arduino与Proteus仿真实例-LCD2004-I2C(PCF8574)驱动仿真

LCD2004-I2C(PCF8574)驱动仿真 PCF8574/74A 通过两线双向 I2C 总线(串行时钟 (SCL)、串行数据 (SDA))提供通用远程 I/O 扩展。 LCD2004,即2004字符型液晶显示器,是一种点阵模块,用于显示字母、数字、字符等。 它由 5x8 个点阵位置组成; 每个位置可以显示一个字符。 两个字符之间有一个点间距,行之间有一个空格,从而将字符和行分开。 模型 2004 表示它显示 4 行,每行 20 个字符。 在前面的实例中对PCF8574和LCD2004的已经做了详细介

视觉与物联智能 1165

sqlite3 arm linux,SQLite 在 arm-linux的移植

一,交叉编译器:arm-linux-gcc-4.5.1二、移植步骤下载源码http://www.sqlite.org/2013/sqlite-autoconf-3080100.tar.gz1.在home/broadon/sqlite1下解压文件tar xzf sqlite-autoconf-3080100.tar.gz2.解压后会有一个新生成的文件夹sqlite-autoconf-3080100,...

weixin_42519489的博客 544

【YOLOv11改进- 主干网络】YOLOv11+WTConv(ECCV2024): 基于YOLOv11的主干网络改进,大感受野的小波卷积

论文提出了WTConv,这是一个使用级联小波分解的层,并执行一组小卷积核的卷积,每个卷积专注于输入的不同频率带,并具有越来越大的感受野。这个过程能够在输入中对低频信息给予更多重视,同时仅增加少量可训练参数。实际上,对于一个  的感受野,可训练参数数量只随着  的增长而呈对数增长。而WTConv与常规方法的参数平方增长形成对比,能够获得有效的卷积神经网络(CNN),其有效感受野(ERF)大小前所未有。

qq_41304809的博客 1401

sqlite3移植到arm linux

1,环境: 软件:linux:2.6.38 硬件:6410 交叉编译工具:arm-linux-gcc  也适用于其他linux平台。 2,步骤: 1》下载sqlite3源码包: http://www.sqlite.org/sqlite-amalgamation-3.6.1.tar.gz   2》复制到工作目录/tmp cp sqlite-amalgamation-3.6.1.t

Rill的专栏 7382

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

gf框架使用sqlite3数据库后交叉编译cgo适配arm64-linux

gf框架使用sqlite3数据库后交叉编译cgo适配arm64-linux 文章目录gf框架使用sqlite3数据库后交叉编译cgo适配arm64-linux1. 前言2. 解决方案3. wsl+Windows交叉编译cgo工程3.1 简述cgo程序交叉编译3.2 安装交叉编译工具链3.3 交叉编译包含cgo依赖的go项目3.4 交叉编译依赖sqlite3的gf工程4. 最后 1. 前言 之前已经说过我们将使用openwrt+nginx+go+sqlite3的方式在openwrt上开发适配业务的web,而

逍遥游的博客 1496

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux下GNU开发环境的安装、sqlite-3.3.6的编译及调用sqlite数...

Linux下GNU开发环境的安装、sqlite-3.3.6的编译及调用sqlite数据库的C语言程序的编译运行-心得体会Linux下GNU开发环境的安装、sqlite-3.3.6的编译及调用sqlite数据库的C语言程序的编译运行-心得体会我的目标是把sqlite数据库移植到Teaboard/ARM920-MX1嵌入式板子上,并保证其能正常使用。因此这几天一直在调试,今天终于将sqlite3.3.

路 4086

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

下一篇: linux下的sqlite3的编译安装和使用 for x86
小艾的01
博客等级 码龄14年 121粉丝 33原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值