Инструменты Clang используют библиотеку LLVM CommandLine для анализа аргументов командной строки.Он имеет свою собственную инструкцию , в которой вы можете найти функцию SetVersionPrinter .
Вот небольшой пример:
#include "clang/Tooling/CommonOptionsParser.h"
#include "clang/Tooling/Tooling.h"
using namespace clang;
using namespace clang::driver;
using namespace clang::tooling;
static llvm::cl::OptionCategory MyToolOptions("My Awesome Clang Tool");
int main(int Argc, const char **Argv) {
llvm::cl::SetVersionPrinter(
[](llvm::raw_ostream &OS) { OS << "Awesome v1.0.0\n"; });
CommonOptionsParser Options(Argc, Argv, MyToolOptions);
ClangTool Tool(Options.getCompilations(), Options.getSourcePathList());
return 0;
}
Запуск этого инструмента с-version
опция:
> ./myTool -version
Awesome v1.0.0
Счастливого взлома с Clang!