2

最近 Sublime Text 3 をインストールしましたが、SublimeLinter を C++ で動作させようとしています。「SublimeLinter-contrib-clang」リンターをパッケージ コントロールと共にインストールしましたが、リンターはアクティブになります。#include <iostream>ただし、私の問題は、基本的な Hello World プログラムなど、基本的なヘッダーごとにリンターがエラーを出すことです。

私がやろうとしたこと:

  • インストールされた clang、g++、および最新の libstdc ライブラリ
  • ターミナルからclangを使用してプログラムをコンパイルして実行しましたclang++ -v <name_of_file>
  • 設定に C++ ライブラリ ディレクトリを手動で含めようとして失敗しました

最後の 1 つが最良の選択のようですが、Sublime の設定がどのように機能するかをまったく理解していないようです。ここに私のユーザー設定ファイルがあります:(配色と無視されたパッケージの行はすでにそこにありました)

{
    "color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
    "ignored_packages":
    [
        "Vintage"
    ],
    "SublimeLinter-contrib-clang": {
        "include_dirs": "/usr/include/c++"
    }
}

さまざまな形式 (「linters」->「clang」、「clang」など) を試しましたが、どれも機能しません。さらに、この方法が機能するかどうかもわかりません。

ありがとう〜

(Ubuntu 14.04 を使用)

編集: 現在のユーザー設定ファイル:

{
    "color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
    "font_size": 11,
    "ignored_packages":
    [
        "Vintage"
    ],
    "linters": {
        "clang": {
                "extra_flags": [],
                "include_dirs": [
                    "/usr/include/c++/4.8.2"
                ]
            }
    }
}
4

2 に答える 2

1

私見では、コンパイラがディレクトリを含むことを指摘しない方がよいでしょう.Xcodeとclangは、/Application/Xcode/フォルダのどこかにそれを隠している可能性があります.

私は便利な以下を見つけました

"SublimeLinter": {
    "linters": {
        "clang": {
            "extra_flags": " -x c++ "
        }
    }
},
于 2015-03-24T11:46:47.343 に答える
1

これは、プラグインがフラグ付きの clang を使用したために発生していました。これは、オプション (つまり、プラットフォーム固有の場所の設定) を省略した内部-cc1モードに切り替えると説明できます。

llvm docsで概説されています

この問題は修正されています。

于 2015-10-03T23:51:25.680 に答える