我正在尝试将CommonOptionsParser
文件路径列表直接输入,而不是argv
。我想首先将argv
传递给我设计的处理路径的函数,并返回一个字符串向量,其中包含我想要clang解析的所有CPP文件的绝对路径。这是否可行,因为CommonOptionsParser
似乎真的只接受argv
和argc
。
我想做这样的事情:
void getFuncDecls(vector<string> &files, vector<string> &functionDecls) {
CommonOptionsParser OptionsParser(?????, files, FAICCategory);
ClangTool Tool(OptionsParser.getCompilations(), OptionsParser.getSourcePathList());
FP::MyPrinter Printer;
MatchFinder Finder;
StatementMatcher functionMatcher = callExpr(callee(functionDecl())).bind("functions");
Finder.addMatcher(functionMatcher, &Printer);
Tool.run(newFrontendActionFactory(&Finder).get());
}
谢谢你,
tiferrei