aarch64环境下编译libmad

为了在嵌入式环境下能解码mp3,使用了libmad库,之前在海思平台下编译过没遇到什么问题,这次在aarch64编译环境下编译遇到了不少问题。经过一系列踩坑,最终得以解决,记录如下:
1.按照以前编译的方式改了CC之后,直接make,报错error: unrecognized command line option “-fforce-mem”。百度后是因为编译器的版本太高,查看了aarch64-linux-gcc -v,是8.4.1的版本。
解决办法是:sed -i ‘/-fforce-mem/d’ configure

2.步骤1解决后,重新编译,总是出现奇怪的错误,应该是–host=arm-linux不对,导致configure判断为arm32位了。但是改为–host=aarch64-linux系统不识别,Invalid configuration aarch64-linux': machine aarch64’ not recognize。正当要放弃时,发现了https://blog.csdn.net/lile777/article/details/81389098这篇博客。按照这个方法,在Ubuntu虚拟机下执行命令:

wget -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
wget -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'

然后,make clean;make distclean.
再重新配置:

sed -i '/-fforce-mem/d' configure
./configure CC=aarch64-linux-gcc --host=aarch64-linux --prefix=$PWD/_install 在这里插入代码片

配置完成之后,make;make install
至此,完美解决!!!
参考博客:
https://blog.csdn.net/fudexiang/article/details/111484064
https://blog.csdn.net/lile777/article/details/81389098

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
aarch64tcpdump 是一款在aarch64(ARM 64位架构)平台上运行的网络数据包抓取工具。要进行源码编译,你可以按照以下步骤进行操作: 1. 准备编译环境:首先,你需要在你的aarch64设备上安装一个合适的编译工具链,例如gcc。你可以通过包管理工具或者从官方网站上下载安装。确保你的设备上已经安装了构建所需的必要依赖库。 2. 下载源码:你可以从 tcpdump 的官方网站上下载最新的源码包,也可以从相关的源代码仓库中获取源码。将源码包下载到你的目标设备上,或者使用 scp 或其他传输工具将其传输到设备上。 3. 解压源码:使用解压工具(例如tar)将源码包解压到你选择的一个目录中。 4. 配置编译选项:进入源码所在的目录,执行 ./configure 命令来配置编译选项。你可以使用 --prefix 选项来指定安装路径,以及其他选项来修改编译行为。 5. 编译源码:在配置完成后,执行 make 命令编译源码。这将会根据你的设备性能等因素耗费一段时间。如果一切顺利的话,编译过程将会生成可执行文件。 6. 安装可执行文件:执行 make install 命令来安装编译生成的可执行文件。默认情况下,它将会被安装到指定路径,但你也可以通过修改 configure 中的 --prefix 选项来指定自定义路径。 7. 运行 tcpdump:完成安装后,你可以通过在终端中输入 tcpdump 命令来运行该程序。你可以提供不同的选项和参数以满足你的需求,例如指定抓包接口或过滤数据包。 以上就是aarch64tcpdump源码编译的基本步骤。注意,在实际操作中可能会遇到一些依赖库或者其他问题,你可能需要根据具体情况进行解决。如果遇到错误或问题,可以查阅相关文档或社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值