1

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

4

2 回答 2

2

我遇到过同样的问题。我最终通过重新安装 Xcode 命令行工具解决了这个问题。

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

xcode-select --install

在那之后,SublimeClang 似乎又可以工作了。

于 2013-10-24T22:42:04.350 回答
1

似乎 Apple 已经clang在 Xcode 5 中进行了更新,并且他们也忽略了这/usr/include条路。出于某种神秘的原因,libclang.dylibXcode 5 中的新功能无法识别默认包含路径;它仍然尝试搜索/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 终于可以工作了,虽然不是一个理想的解决方案。有人有更好的解决方案吗?

于 2013-10-24T09:09:43.023 回答