0

libclang API を使用して、C++ プロジェクトをプログラムで分析しようとしています。コンパイルは問題なく、ツールは生成された AST を適切に解析していますが、特定の警告をオン/オフする方法がわかりません。

関連するコード スニペットは次のとおりです。「未使用の変数」警告を有効/無効にしたいと思います。

        clang::DiagnosticOptions mDiagnosticOptions;
        mDiagnosticOptions.ShowOptionNames      = 1; // prints warning, ie [-Wextra-tokens]
        mDiagnosticOptions.Warnings.push_back("unused-variable"); // <----- DOESN'T WORK

        // use mDiagnosticOptions further down for compile steps etc.
        .
        .
        .
4

1 に答える 1

1

コード スニペットは libclang API の一部ではありません ( clang-c/Index.h)。libclang を使用している場合は、次の呼び出しによって翻訳単位を取得します。

CXTranslationUnit clang_parseTranslationUnit(
        CXIndex CIdx,
        const char *source_filename,
        const char * const *command_line_args,
        int num_command_line_args,
        struct CXUnsavedFile *unsaved_files,
        unsigned num_unsaved_files,
        unsigned options);

command_line_args引数を介して警告を無効にすることができます。

const char* const command_line_args[] = { "-Wall", "-Wno-unused-variable" };
于 2013-10-31T17:05:39.497 に答える