我在SublimeClang中使用Sublime Text 2。升级到Mavericks / Xcode 5后,SublimeClang停止工作。调用命令行clang
的静态分析器仍然可以正常工作,但后台诊断仍然抱怨它无法找到iostream
。
答案 0 :(得分:2)
我有同样的问题。我最终通过重新安装Xcode命令行工具来解决它。
我在终端上运行了这个命令:
xcode-select --install
之后,SublimeClang似乎再次运作。
答案 1 :(得分:1)
似乎Apple在Xcode 5中更新了clang
,他们也放弃了/usr/include
路径。出于某种神秘的原因,Xcode 5中的新libclang.dylib
无法识别默认的包含路径;它仍尝试搜索/usr/include
和usr/include/c++
以查找系统标题。
在使用cpp -v
核对后,我发现在调用clang_parseTranslationUnit
时,这些包含路径应包含在参数列表中:
-I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/
-I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/c++/v1
-I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.0/include
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include
我不能将这些参数放在SublimeClang.sublime-settings
的“选项”部分中,因为它将被每个项目的sublimeclang_options
覆盖。所以我在additional_language_options
部分添加了这些内容。
现在SublimeClang最终可以工作,但不是理想的解决方案。有人有更好的解决方案吗?