Xcode无法执行二进制文件,构建时libtool报错退出码126求助
解决Xcode构建时libtool无法执行二进制文件的问题
嘿,我之前也栽过这个退出码126的libtool报错,太闹心了!咱们一步步来排查解决:
1. 先检查libtool的文件权限
这个报错大概率是文件没有执行权限导致的,打开终端跑这行命令看看权限:
ls -l /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
如果输出里的权限列没有x(比如是-rw-r--r--),那赶紧给它加上执行权限:
sudo chmod +x /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool
输完密码后再重新构建试试。
2. 修复Xcode工具链的完整性
有时候Xcode的工具链会因为更新、中断安装或者缓存问题损坏:
- 先重启Xcode,然后彻底清理构建缓存:按
Command+Shift+K清理构建文件夹,再按Command+Option+Shift+K清理派生数据,之后重新构建 - 打开Xcode偏好设置(
Command+,),切换到Locations标签页,检查Command Line Tools是不是选中了当前正在用的Xcode版本,要是不对就选回来,甚至可以先选其他版本再切回来触发工具链重置 - 还可以重装命令行工具:先卸载现有工具链
然后运行安装命令:sudo rm -rf /Library/Developer/CommandLineToolsxcode-select --install
3. 排查Apple Silicon架构兼容问题
如果你的Mac是M系列芯片,可能存在Rosetta兼容问题:
- 试试右键终端图标,选择「使用Rosetta打开」,然后在这个终端里运行Xcode(或者直接通过终端构建项目)
- 检查项目的Build Settings,找到
Architectures选项,确认是不是设置了适配当前架构的值(比如arm64或者arm64 x86_64)
4. 终极方案:重装Xcode
要是上面的方法都不管用,那大概率是Xcode本身损坏了:
- 先备份好你的项目和Xcode设置,然后彻底卸载Xcode:删除
/Applications/Xcode.app,同时删掉~/Library/Developer、~/Library/Caches/com.apple.dt.Xcode这些相关目录 - 从App Store重新下载安装最新版的Xcode,安装完成后记得打开Xcode完成初始化配置
你遇到的具体报错信息:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: cannot execute binary file
命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool执行失败,退出码为126。
内容的提问来源于stack exchange,提问作者Tio
相关产品推荐
相关产品推荐

