背景
在高版本macos(>10.15)通过brew install gcc@4.7.x 已经无法成功,因为版本差距太大,许多开发环境已经不支持,有点挑战
环境
host: macos 11.5.2
host gcc:Apple clang version 13.0.0 (clang-1300.0.29.3)
target: i686-none-linux-gnu
target gcc source: gcc-4.7.2.tar.bz2
结果编译报错,发现 gcc-4.7.2 带有bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57625
所以换到相近的 gcc-4.7.3.tar.bz2 进行编译,由于 gcc 版本差距太大,所以使用 brew install gcc@7 作为跳板进行编译,编译成功!
envir.sh
#!/bin/bash
BASEDIR=$(dirname "$0")
cd ${BASEDIR}
BASEDIR=`pwd`
unset LANG
export HOST=x86_64
export BUILD=$HOST
export TARGET=i686-none-linux-gnu
export BUILD_ROOT_DIR=${BASEDIR}/../../
export BUILD_DIR=${BUILD_ROOT_DIR}/build/
export CROSS_TOOL=${BUILD_ROOT_DIR}/cross-tool
export CROSS_GCC_TMP=${BUILD_ROOT_DIR}/cross-gcc-tmp
export SYSROOT=${BUILD_ROOT_DIR}/sysroot
export VITA_DIR=${BASEDIR}/../
export SOURCE_DIR=${VITA_DIR}/source
PATH=$CROSS_TOOL/bi

在macos 11.5.2上,尝试用Apple clang 13编译低版本gcc(4.7.2)失败,因gcc存在bug。改用4.7.3并借助Ubuntu 16.04作为中间平台成功完成交叉编译。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



