Clang CommonOptionsParser中的一个奇怪错误
我是一个学习叮当声的新手,遇到了一个奇怪的错误 我的代码是一个简单的例子:Clang CommonOptionsParser中的一个奇怪错误,clang,Clang,我是一个学习叮当声的新手,遇到了一个奇怪的错误 我的代码是一个简单的例子: ..... static llvm::cl::OptionCategory MyToolCategory(""); ..... int main(int argc, const char **argv) { CommonOptionsParser OptionsParser(argc, argv, MyToolCategory); ClangTool Tool(OptionsParser.getCom
.....
static llvm::cl::OptionCategory MyToolCategory("");
.....
int main(int argc, const char **argv)
{
CommonOptionsParser OptionsParser(argc, argv, MyToolCategory);
ClangTool Tool(OptionsParser.getCompilations(),
OptionsParser.getSourcePathList());
tooling::MyFactory Factory;
Tool.run(newFrontendActionFactory(&Factory));
return 0;
}
但是当使用clang++编译时,它报告了一个非常奇怪的错误(我的llvm&clang版本是3.4):
构造函数不匹配,编译器将“llvm::cl::OptionCategory”错误为“const char*”,这是毫无意义的。
有人遇到过这个问题吗?谢谢 我在一个教程中遇到了同样的错误,错误消息说最后一个参数有问题 我已经检查了官方API(),给出的示例似乎使用了相同的模式 但是我也检查了我的源文件(/usr/include/clang/Tooling/CommonOptionsParser.h on Arch),构造函数的声明不一样。 我的叮当版本是3.4。下一个版本是3.5,我认为官方文档 是3.5版的 根据clang 3.4源文件中的文档,最后一个参数似乎是可选的,您可以使用:
CommonOptionsParser OptionsParser(argc, argv);
在此之后,我在编译期间没有出现错误。是的,是版本问题。谢谢!
CommonOptionsParser OptionsParser(argc, argv);