使用Cygwin编译binutils-2.7时遇Config.guess无法识别主机类型错误
解决binutils-2.7在Cygwin下configure的主机类型识别问题
直接解决方案
在configure命令中手动添加--host参数,指定Cygwin的主机类型:
64位Cygwin用户执行:
../binutils-2.7/configure --target=i386-elf --prefix="/home/jacki" --host=x86_64-pc-cygwin --with-sysroot --disable-nls --disable-werror
32位Cygwin用户执行:
../binutils-2.7/configure --target=i386-elf --prefix="/home/jacki" --host=i686-pc-cygwin --with-sysroot --disable-nls --disable-werror
原因说明
binutils-2.7是1996年的老旧版本,它自带的Config.guess脚本没有包含对现代Cygwin环境的识别逻辑,所以无法自动检测你的主机系统类型,必须手动指定--host参数来告知configure脚本运行环境。
额外提示
这个版本过于古老,后续编译过程中可能还会遇到其他兼容性问题(比如和新版Cygwin工具链的语法冲突)。如果教程没有强制要求使用2.7版本,建议换成较新的binutils版本(比如2.30及以上),能减少很多不必要的麻烦。
内容的提问来源于stack exchange,提问作者bessieTheBoy
相关产品推荐
相关产品推荐

