Xcode 11.1编辑器无法识别stdio.h头文件,编译正常求助
解决Xcode 11.1编辑器无法识别stdio.h的问题
我之前也踩过Xcode代码索引抽风的坑——明明编译能正常完成,编辑器却乱报头文件找不到的错误,给你几个亲测有效的解决办法:
重置Xcode的DerivedData(最常用的修复手段)
- 彻底关闭Xcode
- 打开终端,执行命令:
rm -rf ~/Library/Developer/Xcode/DerivedData - 重新打开Xcode,耐心等待它完成索引重建(状态栏会显示进度),之后再看看stdio.h的错误提示是否消失
指定正确的命令行工具版本
虽然你找不到适配11.1的独立命令行工具,但可以让Xcode关联已安装的版本:- 打开Xcode,点击顶部菜单栏的
Xcode→Preferences→Locations - 在
Command Line Tools下拉列表里选择你已安装的版本(比如Xcode 11对应的工具) - 重启Xcode,让配置生效
- 打开Xcode,点击顶部菜单栏的
检查项目的Build Settings配置
确保项目的头文件搜索路径和SDK配置正确:- 选中你的Command-line tool项目,切换到
Build Settings标签页 - 搜索
Header Search Paths,确认包含/usr/include(标准C头文件的默认路径,通常默认就有,但索引异常时可能需要手动添加) - 搜索
SDKROOT,确保设置为Xcode 11.1对应的macOS SDK(比如macosx10.15)
- 选中你的Command-line tool项目,切换到
重置Xcode偏好设置(终极手段,谨慎使用)
如果上面的方法都没用,可以试试重置Xcode的偏好:- 关闭Xcode
- 终端执行命令:
defaults delete com.apple.dt.Xcode - 重新打开Xcode,它会恢复到初始偏好状态,之后重新配置你的项目
补充说明:既然编译能成功,说明编译器本身能找到stdio.h,问题出在Xcode的代码索引服务(就是负责编辑器语法提示、错误标记的模块),上面的方法都是针对修复索引异常的,大概率能解决你的问题。
内容的提问来源于stack exchange,提问作者Prec99
相关产品推荐
相关产品推荐

