平台:

PC机:redhat9.0

arm板:at91sam9260/linux-2.6.22

交叉编译器:armv51-linux-gcc

1..从sqlite的官方网站下载sqlite的最新版本源代码,下载地址:http://www.sqlite.org/download.html

下载sqlite-amalgamation-3070800.zip压缩版,在Windows下解压缩后,拷贝到linux系统/home/sqlite下。

2.设置环境变量;

export CC=/opt/timesys/toolchains/armv51-linux/bin/armv51-linux-gcc;

export LDFLAGS=/opt/timesys/toolchains/armv51-linux/lib;

3.建立文件夹sqlite3-arm用来存放交叉编译后的结果

mkdir sqlite3-arm

4.进入sqlite的源代码目录

cd sqlite-amalgamation-3070800

5.配置Makefile

./configure --prefix=/home/sqlite/sqlite3-arm  -host=arm-linux

6.make

7.make install

8.安装完成后,在sqlite3-arm文件夹下既可以看到编译结果

9.给arm板上电,确保网线链接ok;

10挂载文件系统

mount -t nfs -o nolock 192.168.0.233:/home/sqlite /mnt

11.拷贝编译生成的可执行文件及编译文件到arm板

cp -arf  /mnt/sqlite3-arm/lib/* /usr/lib

cp /mnt/sqlite3-arm/bin/* /usr/bin

cp  -rf /mnt/sqlite3-arm/share/* /usr/sharf

12查看是否移植成功,运行sqlite3 test.db 报如下错误:

sqlite3:error while loading shared libraries:libdl.so.2:cannot open shared object file:No such file or directory.

提示没有找到libdl.so.2这个库,libdl.so.2为libc中的库,在编译环境中查找该库,找到后,拷贝到arm板:

cp -arf  /opt/timesys/toolchains/armv51-linux/armv51-linux/lib/libdl* /lib/

13.再次运行sqlite3.OK!

至此,sqlite3移植成功!

心得:在移植的过程中,提示找不到libdl.so.2这个库时,困扰了我很长时间,在网上查阅了很多资料,甚至试图自己编译glibc及uClibc获取此库,后来咨询厂家,意识到原来在编译环境中自带了大部分的libc库。呵呵,看来还是对交叉编译没有了解透彻。羞愧。。。

.设置环境变量;

export CC=/dir/arm-none-linux-gnueabi-gcc

用这个方式ok,下面设置路径不行

export PATH=$PATH/

libsqlite3.so.0  这cp /lib 测试ok

sqlite的交叉编译及移植 -转相关推荐

  1. QT笔记--嵌入式QT交叉编译与移植(含OpenGL ES2)

    介绍 本文记录了QT交叉编译并移植到开发板的过程,并在虚拟机上用QTcreater 开发程序,到开发板上运行.其中重点解决了一些过程中的BUG和坑. 准备工作 1.一个ubuntu系统的电脑(或虚拟机 ...

  2. Libusb交叉编译和移植

    2019独角兽企业重金招聘Python工程师标准>>> Libusb交叉编译和移植 某项目内核需要支持USB的相关操作,所以考虑移植Libusb库 1.到官网下载最新的libusb源 ...

  3. x264的交叉编译和移植

    要能够在开发板上使用x264库就需要将x264交叉编译并且移植到开发板上,当然为了方便调试,可是在主机在也安装上x264.开发板上安装的库需要交叉编辑,生成可执行文件之后,目标程序在开发板上运行时需要 ...

  4. opencv-3.4.3 交叉编译并且移植到高通820开发板(包括Qt 5.11.2部分交叉编译及移植),NEON OpenCV编译

    opencv-3.4.3 交叉编译并且移植到高通820开发板(包括Qt 5.11.2部分交叉编译及移植),NEON OpenCV编译 原文我是用有道笔记记录的,下面排版不是很好,可参看有道笔记原文:h ...

  5. openssh源码交叉编译,移植

    安装移植openssh需要先make zlib和ssl. 安装包: zlib-1.2.12.tar.gz openssl-1.0.1e.tar.gz openssh-5.3p1.tar.gz 交叉编译 ...

  6. mysql 客户端 交叉编译_移植mysql到嵌入式ARM平台

    移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.ph ...

  7. 交叉编译并移植opencv3.0.0到arm板

    原文:http://blog.csdn.net/gatieme/article/details/49080355 项目需求,交叉编译OpenCV,并移植到arm中. 在opencv2.0以上的版本编译 ...

  8. 海思芯片怎么使用tde给qt加速_基于Hisi芯片,交叉编译、移植Qt4.8.6(可旋转)

    一.安装海思编译链 安装海思编译链(如arm-hisiv300-linux-*),不做赘述. 二.下载Qt4.8.6源码包 源码包:qt-everywhere-opensource-src-4.8.6 ...

  9. MINIGUI图形界面开发入门,交叉编译,移植

    1引言 自 MiniGUI 从 1998 年底推出以来,越来越多的人开始选择 MiniGUI 在 Linux 上开发实时嵌入式系统.MiniGUI 系统也逐渐成熟,应用到各种嵌入式系统中,包括PDA. ...

最新文章

  1. 在 Java Web 项目中,Service 层和 Dao 层真的有必要每个类都加上接口吗
  2. Pheatmap热图的绘制及如何调整图片
  3. sleep() wait() notify/notifyAll() 的区别
  4. 【C++ 语言】Visual Studio 配置 POSIX 线程 ( Windows 不支持 POSIX | 配置文件下载 | 库文件说明 | 配置过程 )
  5. 数据结构——树、森林和二叉树之间的转换
  6. 十七、爬虫实战,多线程抓取大搜网新车的数据
  7. Android的MVC框架
  8. linux 中w和x 区别,r、w、x权限在文件和目录中的含义有何区别?
  9. 整型数据类型java_Java 六种基本整型数据类型变量的取值范围
  10. openjudge用c语言答案,OpenJudge - NOI - 1.4编程基础之逻辑表达式与条件分支(C语言 全部题解)...
  11. 讨论CGContextDrawImage
  12. 区块链 solidity 零知识证明DApp开发实践【身份证明/以太坊】
  13. 计算机dll修复工具,DLL修复工具有哪些?DLL修复工具盘点
  14. 中控考勤仪IFace302多线程操作时无法订阅事件
  15. 解决双击事件触发两次单击事件
  16. Appium等待元素出现
  17. 查看Java元空间区域
  18. python模拟蚂蚁森林能量产生过程代码_用Python实现定时自动化收取蚂蚁森林能量,再也不用担心忘记收取了...
  19. 油条、油饼,千滚百沸的油怎让人放心
  20. 家用计算机历史记录,如何查看计算机使用历史记录,只需几个简单步骤即可查看...

热门文章

  1. struts2无法调用类静态方法的解决办法
  2. 天津铁路警方打击倒票专项行动破案19起 抓获19人
  3. 云计算的下一个时代——“容器时代”
  4. 消息最终一致性解决方案之RabbitMQ实现
  5. 硬盘的分区误删除的恢复
  6. 避免uicollection view被错误的移动
  7. ssm+redis 如何更简洁的利用自定义注解+AOP实现redis缓存
  8. C++中Set的使用
  9. linux(Centos5.1)升级至2.6.19内核+L7实现-- 续限P2P软件
  10. 【EXLIBRIS】纸版书目整理 -- 小书架 下/床头柜/书箱 【100 种】【108 册】