当前位置: 首页 > 工具软件 > libmad > 使用案例 >

aarch64环境下编译libmad

栾鸣
2023-12-01

为了在嵌入式环境下能解码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

 类似资料: