Ответ 1
Я недавно сделал это в 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
}