【问题标题】:What's up with EasyClangComplete on Sublime?Sublime 上的 EasyClangComplete 怎么了?
【发布时间】:2018-07-31 12:02:42
【问题描述】:

我最近开始使用 Sublime,SFML 是从源代码构建的。我将我的 Core::Blocks 项目迁移到 Sublime(将源文件和头文件放在好的文件夹中,并创建了一个使用它们的 Sublime 项目)。一切都很好地编译并且运行良好,但有一些小问题。

不过,有一个问题; EasyClangComplete 无法识别 std。当我用#include <string>std::string 时,std 位于红色矩形中,并且警报显示“无法识别的标识符”。更奇怪的是,Sublime 本身的语法高亮并不能识别std,因为std:: 是白色的,而来自SFML 的sf::ios:: 是绿色的。我错过了什么?

【问题讨论】:

  • 我使用的是 Windows、Clang 6.0.0 和 gcc 6.3.0(mingw-w64)。我也没有设法让它识别std:: 命名空间。由于我没有使用 CMake,因此我尝试了 3 种在文档中添加包含标志的推荐方法(用户设置中的 "common_flags",项目文件夹根目录中的 .clang_complete 文件,崇高项目文件中的 "common_flags") .尝试添加两个编译器的每个包含目录和子目录,但没有结果。它适用于从我自己的项目标题中解析/自动完成符号。浏览 repo 中的问题,似乎没有 Windows 支持。
  • @Running_Sloth:你在 Windows 上吗?您是否安装了 Microsoft 构建工具?在这种情况下,Clang 应该会自动找到标准头。

标签: c++ c++11 sublimetext3 std sfml


【解决方案1】:

我不知何故错过了这个问题,对不起。既然你问了这个问题,我已经将文档添加到插件中,并且应该有一种更简单的方法来使用 MinGW 在 Windows 上配置它。请参阅此处的设置示例:https://niosus.github.io/EasyClangComplete/settings/#common_flags

为了完整起见,您的 common_flags 应该看起来像:

"common_flags" : [
    "-IC:\\MinGW\\lib\\gcc\\mingw32\\6.3.0\\include\\c++",
    "-IC:\\MinGW\\lib\\gcc\\mingw32\\6.3.0\\include\\c++\\mingw32"
],

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2015-06-29
    相关资源
    最近更新 更多