当前位置: 首页 > news >正文

嵌入式移植jpeglib--Linux交叉编译ARM平台

一 、交叉编译jpeg库

1.下载源码tar.gz
2. 源码目录下执行 jpeglib配置文件

./configure CC=arm-none-linux-gnueabihf-gcc LD=arm-none-linux-gnueabihf-ld --prefix=/work/jpeg_arm_lib --exec-prefix=/work/jpeg_arm_lib --enable-shared --enable-static --host=arm-none-linux-gnueabihf
符号说明
CC编译所使用的编译器
LD编译所使用的链接器
Prefixjpeglib库的安装目录
Exec-prefix可执行文件的目录
Enable-shared编译为动态库
Enable-static编译为静态库

3.make 编译、 sudo make install安装
在这里插入图片描述

二、Linux下jpeg库移植-编译APP

1.确定交叉编译器安装成功并配置到环境目录

arm-none-linux-gnueabihf-gcc -v

在这里插入图片描述
2.Makefile文件添加编译连接路径

LDFLAGS := -L/work/jpeg_arm_lib/lib -ljpeg

3.交叉编译的时候头文件默认搜索路径与正常编译有所不同,要先确定交叉编译器的目录

echc'main(){}'| /usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc -E -v-

在这里插入图片描述

4.将/work/jpeg_arm_lib/include头文件拷贝到交叉编译器的目录
在这里插入图片描述
5.Make 编译App文件

三、开发板下jpeg库移植-运行APP

.将编译后的库文件移动到开发板挂载文件目录
将/work/jpeg_arm_lib下库文件,tar打包复制到,开发板挂载文件目录/usr/lib下
(使用Buildroot构建的根文件系统下可能有jpeg库,删除后使用新编译得到的)

sudo tar -czf lib.tar.gz ./*
sudo tar -xzf lib.tar.gz -c /home/jcl/linux/nfs/rootfs/usr/lib

测试

将/work/jpeg_arm_lib下, bin 目录下的所有测试工具拷贝到开发板
开发板运行djpeg -help 有反应代表移植成功
在这里插入图片描述

参考教程:
https://blog.csdn.net/chengfei609/article/details/46318275
https://cloud.tencent.com/developer/article/1997282
https://blog.csdn.net/qq_53144843/article/details/124524969

相关文章:

  • 创建线程的技术难点
  • VOC格式标签各个字段的解释
  • 对 SQL 说“不”~
  • 随便用css换个渐变的太阳
  • OrangePi AIpro 变身 Android 打包机
  • github使用相关问题
  • Oracle数据库面试题-3
  • 宇泰485中继器光电隔离防雷 工业级RS485信号放大器 UT-2209正品
  • 学习DHCP动态主机配置协议
  • 赶紧收藏!2024 年最常见 20道 Kafka面试题(五)
  • Pytorch实用教程:pytorch中 argmax(dim)用法详解
  • nginx优化和重写功能rewrite
  • vscode怎么拷贝插件到另一台电脑
  • 如何用结构化写好GPT的Prompt提示词
  • MySQL之创建高性能的索引(十一)
  • Android系统模拟器绘制实现概述
  • es6(二):字符串的扩展
  • exports和module.exports
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Joomla 2.x, 3.x useful code cheatsheet
  • js数组之filter
  • Lucene解析 - 基本概念
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • React+TypeScript入门
  • React组件设计模式(一)
  • Redis的resp协议
  • 设计模式走一遍---观察者模式
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 字符串匹配基础上
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1)(1.13) SiK无线电高级配置(六)
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (39)STM32——FLASH闪存
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (ZT)一个美国文科博士的YardLife
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (南京观海微电子)——COF介绍
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (十一)c52学习之旅-动态数码管
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (一一四)第九章编程练习
  • .env.development、.env.production、.env.staging
  • .NET WPF 抖动动画
  • .net 调用php,php 调用.net com组件 --
  • .py文件应该怎样打开?
  • .so文件(linux系统)
  • @Valid和@NotNull字段校验使用
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [20171102]视图v$session中process字段含义
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [Android] Amazon 的 android 音视频开发文档