Я недавно сделал это на Windows.
Загрузите исходники clang и llvm с здесь .
Установите cmake и Python (в отличие от документации, вам нужен Python только для сборки clang; по крайней мере, cmake сдается, если не может найти среду выполнения Python).
Вам также нужны VS2008 или VS2010.
Одна вещь, которая не совсем очевидна, - это необходимая структура каталогов:
projectRoot
build <- intermediate build files and DLLs, etc. will go here
llvm <- contents of llvm-3.0.src from llvm-3.0.tar go here
tools
clang <- contents of clang-3.0.src from clang-3.0.tar go here
И следуйте инструкциям по сборке окон , начиная с шага 4 и далее. Не пытайтесь использовать графический интерфейс cmake, это ужас; просто используйте команды, приведенные в инструкциях по сборке.
Как только сборка будет завершена (это займет некоторое время), вы получите:
projectRoot
build
bin
Release <- libclang.dll will be here
lib
Release <- libclang.lib will be here
llvm
tools
clang
include
clang-c <- Index.h is here
Index.h определяет API для доступа к информации о вашем исходном коде; он содержит немало документации об API.
Чтобы начать использовать clang, вам нужно что-то вроде:
CXIndex index = clang_createIndex(1, 1);
// Support Microsoft extensions
char *args[] = {"-fms-extensions"};
CXTranslationUnit tu = clang_parseTranslationUnit(index, "mySource.c", args, ARRAY_SIZE(args), 0, 0, 0);
if (tu)
{
CXCursor cursor = clang_getTranslationUnitCursor(tu);
// Use the cursor functions to navigate through the AST
}