记:ubuntu下交叉编译arm的链接库

2023-05-16

以第三方库libjpeg为例,编译所需要的三步:
1、配置./configure脚本参数,

./configure --prefix=/home/huanghaitao/Winshare/jpeg-9c/libjpeg CC=arm-linux-gnueabihf-gcc --host=arm-linux --enable-shared --enable-static

–prefix=(.a或者.so生成的目录),如果不填写这个参数,会有个路径,具体是哪里不记得了。
CC=(工具链的名称),所设置的工具链一定要在环境变量中,不然找不到工具链的运行路径。我是直接用sudo apt-get install 安装的工具链。
–host=arm-linux,编译好的程序是放在arm上面跑。
–enable-shared,生成动态链接库。
–enable-static,生成静态链接库,
直接在控制台运行上述命令,当然要在libjpeg的目录下打开控制台。
运行完毕后可以查看生成的Makefile文件,显然已经配置好。

2、下来是输入make命令。
3、最后make install即可,可在 --prefix= 目录找到所生成的库文件。

这里我个人还遇到了一个问题,就是把libjpeg.a放到自己的工程目录下去编译时,报了一个错误。

./libjpeg/libjpeg.a(jcapimin.o): relocation R_ARM_THM_MOVW_ABS_NC against `jpeg_natural_order’ can not be used when making a shared object; recompile with -fPIC

在这里插入图片描述
看错误提示可以看出来需要重新编译recompile with -fPIC,去修改Makefile里面的CFLAGS,在后面加-fPIC
在这里插入图片描述
再重新make,make install一次,把生成的libjpeg.a拷贝到工程下重新链接编译就没报错了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记:ubuntu下交叉编译arm的链接库 的相关文章

随机推荐

  • Linux下C++内存泄露的检查方法

    方法目录 内存泄漏介绍内存检查工具一 valgrind内存检查工具二 AddressSanitizer 推荐 内存泄漏介绍 1 内存泄露 memory leak xff0c 是指程序在申请内存后 xff0c 无法释放已申请的内存空间 xff
  • Ubuntu 下设置不锁屏(不休眠)

    点击进入
  • Ubuntu 下的根目录为

    根目录为 xff1a 如果我们要进入tmp user里 xff0c 只需要输入cd tmp user 即可 例如 xff1a wangrui span class token annotation punctuation 64 bsp sp
  • MySQL8开启SSL加密

    1 概述 MySQL从5 7开始默认开启SSL加密功能 xff0c 进入MySQL控制台后输入status可以查看SSL的状态 xff0c 出现下图表示在使用SSL xff1a 另外 xff0c 加密连接需要密钥与证书 xff0c 可以使用
  • 服务器上的内容无法复制到本机

    服务器上的内容无法复制到本地 xff0c 显示 xff1a 复制文件或文件夹出错 xff0c 未指定的错误 打开远程桌面连接 本地资源 详细信息 勾选下面的几项 xff0c 确定 然后打开任务管理器 xff0c 查看是否有 rdpclip
  • linux ping报错Name or service not known

    设置静态ip以后忘记设置dns xff0c ping的时候报错 xff1a Name or service not known 添加dns即可 span class hljs title vi span etc resolv conf na
  • 如何为SUSE配置IP地址,网关和DNS

    方法一 在命令行中配置 输入 xff1a ifconfig eht0 9 111 66 96 netmask 255 255 255 0 up route add default gw 9 111 66 1 方法二 在文件中设置 示例参数
  • TCP协议理解和用法以及三次握手四次分手

    TCP协议 1 TCP网络分层 应用层 xff0c 传输层 xff0c 网络互联层 xff0c 网络访问层 xff0c 物理层 应 层 应 程序之间如何相互传递报 xff0c 如HTTP协议 传输层 传输层的作 是为两台主机之间的 应 进程
  • React 1.8踩坑,模块化引入less样式不生效

    在看一个 react 项目的时候 xff0c 项目中是直接引入 import style from 39 style less 39 create react app 创建项目之后 xff0c react 脚手架里面是已经集成了css xf
  • 做CV和做NLP,是否都有光明的未来?

    每天给你送来NLP技术干货 xff01 来自 xff1a 算法圈的小破事 作者 xff1a 疯狂试探皮皮虾 大家好 xff0c 我是在互联网危险边缘疯狂试探的皮皮虾 最近有点忙 xff0c 拖更了 xff0c 不知道有没有读者惦记皮皮虾推文
  • iOS UIAlertController使用汇总

    文章目录 1 xff64 UIAlertController显示普通的Alert2 xff64 UIAlertController显示带文本输入的的Alert3 xff64 UIAlertController显示ActionSheet 1
  • IOS 相机和相册的调用UIImagePickerController

    文章目录 UIImagePickerController类常用属性与方法UIImagePickerControllerDelegate代理协议举例准备工作 代码 在App开发时 xff0c 当我们需要调用摄像头拍照或者希望从相册中选择一张照
  • CVPR2019超分辨率 《zoom to learn,learn to zoom》《Camera lens super resolution 》

    CVPR2019超分领域出现多篇 xff0c 更接近于真实世界原理的低分辨率和高分辨率图像对应的新思路 具体来说 xff0c 以前论文训练数据主要使用的是人为的bicubic下采样得到的 xff0c 网络倾向于学习bicubic下采样的逆过
  • Android开发接入头条联盟穿山甲SDK遇到的问题

    1 在android7 0及以上无法调出安装页面的问题 官方文档如下 xff0c 需适配7 0及以上 lt provider android name 61 34 android support v4 content FileProvide
  • containerd的本地CLI工具ctr命令教程

    目录 1 帮助命令 2 镜像操作 1 拉取镜像 2 列出本地镜像 3 检测本地镜像 4 重新打标签 5 删除镜像 6 将镜像挂载到主机目录 7 将镜像从主机目录上卸载 8 将镜像导出为压缩包 9 从压缩包导入镜像 3 容器操作 1 创建容器
  • 学习stm32f429 hal库编程时遇到了SystickHandler疑似无法执行的情况

    学习stm32f429 hal库编程时遇到了SystickHandler疑似无法执行的情况 中断服务函数 span class token keyword void span span class token function SysTic
  • 使用Gitblit在Windows平台上安装与配置Git Server

    1 安装JDK xff0c 并配置好JDK环境变量 2 下载安装GitBlit xff0c 下载地址 xff1a http www gitblit com或者http gitblit com 3 解压缩下载的压缩包到指定目录gitblit即
  • Qt学习总结之QPushbutton详解

    一 简述 按钮 xff0c 界面中常用的控件 xff0c 默认矩形 QPushButton的子类 xff1a QCommandLinkButton父类 xff1a QAbstractButton QAbstractButton的父类是QWi
  • Ubuntu下安装ARM交叉编译工具

    一 简介 在Ubuntu下安装ARM的交叉编译工具是常用到的 xff0c 下面以arm linux gcc 4 3 2为例讲解ARM下安装交叉编译工具 二 安装步骤 拷贝压缩文件到指定路径解压配置环境变量更新环境变量并查看验证是否成功 2
  • 记:ubuntu下交叉编译arm的链接库

    以第三方库libjpeg为例 xff0c 编译所需要的三步 xff1a 1 配置 configure脚本参数 xff0c span class token punctuation span span class token operator