当前位置: 代码迷 >> 综合 >> update for support arm64 所遇到的一些问题
  详细解决方案

update for support arm64 所遇到的一些问题

热度:57   发布时间:2023-10-19 15:22:44.0

update for support arm64 所遇到的一些问题

前言

现在Google要求上架Google play上面的应用需要支持64位arch。本文记录了在增加对64位的支持的过程中,所遇到的一些问题。会持续补充更新。


(一)Invalid configuration ‘aarch64-linux’: machine ‘aarch64’ not recognized

error log
checking host system type… Invalid configuration ‘aarch64-linux’: machine ‘aarch64’ not recognized

说明: 我们在编一些第三方库的时候,比如fdk-aac,expat等,在编译arm64架构的library,很可能会遇到类似上面的问题,但在编译32位的ABI就没问题.出现这种情况
很大的原因是config.sub,config.guess这两个文件太老了,没有更新,你打开这两个文件可以发现,根本就找不到aarch64.
解决方法: 下载新的config.sub,config.guess文件来代替旧的文件.先找到旧的config.sub,config.guess文件,用rm命令把文件删了,然后在该目录下下载最新的文件即可.
怎么找到旧的config.sub,config.guess文件呢?可以使用find命令查找,更简单直接的一种方式在查看出错的日志,一般来说,出错的日志上面会提示.比如:
checking host system type… Invalid configuration ‘aarch64-linux’: machine `aarch64’ not recognized
configure: error: /bin/bash conftools/config.sub aarch64-linux failed
进入编译的第三方库,找到conftools文件,就能找到config.sub文件.
下载方式:

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'
  相关解决方案