gpt4 book ai didi

c++ - 使用 libclang,如何启用和禁用特定警告?

转载 作者:行者123 更新时间:2023-11-28 07:49:27 33 4
gpt4 key购买 nike

我正在尝试使用 libclang API 以编程方式分析 C++ 项目。我的 clang 编译正常,我的工具正确解析生成的 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.
.
.
.

最佳答案

您的代码片段不是 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" };

关于c++ - 使用 libclang,如何启用和禁用特定警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14166881/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com