获取SublimeClang以使用OSX 10.9 Mavericks / Xcode 5

时间:2013-10-24 09:09:43

标签: xcode sublimetext2 osx-mavericks

我在SublimeClang中使用Sublime Text 2。升级到Mavericks / Xcode 5后,SublimeClang停止工作。调用命令行clang的静态分析器仍然可以正常工作,但后台诊断仍然抱怨它无法找到iostream

2 个答案:

答案 0 :(得分:2)

我有同样的问题。我最终通过重新安装Xcode命令行工具来解决它。

我在终端上运行了这个命令:

xcode-select --install

之后,SublimeClang似乎再次运作。

答案 1 :(得分:1)

似乎Apple在Xcode 5中更新了clang,他们也放弃了/usr/include路径。出于某种神秘的原因,Xcode 5中的新libclang.dylib无法识别默认的包含路径;它仍尝试搜索/usr/includeusr/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最终可以工作,但不是理想的解决方案。有人有更好的解决方案吗?