0
我使用Clang :: Tooling庫來解析某些頭文件。由於clang沒有預處理頭文件和其他預處理器,我似乎無法正確解析。我如何告訴Clang :: Tooling在解析之前預處理文件。乾杯。這是我調用我的工具的當前代碼。Clang Tooling預處理源文件
/*static*/ SAST SAST::Parse(CFile& HeaderFile, const TArray<CString>& CommandLineArgs)
{
//Our Custom Formated Ast Data Struct
SAST AST;
//Parse Command-Line Args.
clang::tooling::CommandLineArguments CommandArgs;
for (auto& Item : CommandLineArgs)
CommandArgs.push_back(Item.GetRaw());
//Traverse And Collect AST
auto SourceText = HeaderFile.GetText();
auto SourceFileName = HeaderFile.GetFullName();
clang::tooling::runToolOnCodeWithArgs(new CollectASTAction(&AST), SourceText.GetRawConst(), CommandArgs);
return AST;
}