libclang:error:clang -c / Index.h:没有这样的文件或目录

时间:2011-05-23 16:21:24

标签: c llvm-clang

我试图使用clang来解析c ++代码,但我无法编译我的源代码,因为我无法找到libclang标题。

我正在运行ubuntu 10.04并已从存储库成功安装了clang和llvm。

请告诉我在哪里可以找到要包含的文件。

我试图运行的例子是:

    #include<clang-c/Index.h>

    int main(int argc, char *argv[]) {
    CXIndex Index = clang_createIndex(0, 0);
    CXTranslationUnit TU = clang_parseTranslationUnit(Index, 0,argv, argc, 0, 0, CXTranslationUnit_None);
    for (unsigned I = 0, N = clang_getNumDiagnostics(TU); I != N; ++I) {
    CXDiagnostic Diag = clang_getDiagnostic(TU, I);
    CXString String = clang_formatDiagnostic(Diag,
    clang_defaultDiagnosticDisplayOptions());
    fprintf(stderr, "%s\n", clang_getCString(String));
    clang_disposeString(String);
    }
    clang_disposeTranslationUnit(TU);
    clang_disposeIndex(Index);
    return 0;
    }

2 个答案:

答案 0 :(得分:4)

ubuntu 10.04 http://packages.ubuntu.com/lucid/devel/clang的包clang-2.7不包含头文件clang-c/Index.h,也没有libclang.so:

http://packages.ubuntu.com/lucid/i386/clang/filelist

llvm-dev包也没有:http://packages.ubuntu.com/lucid/i386/llvm-dev/filelist

因此,ubuntu 10.04没有包含libclang的clang包或任何与clang开发相关的内容。

正如Banthar建议的那样,你应该使用来自llvm站点的clang,它可以从源代码构建(在ubuntu中很容易)或打包为二进制包。

答案 1 :(得分:2)

正如Adam Monsen在对已接受答案的评论中所述,从Ubuntu 13.10开始,该文件由以下软件包提供:

View

根据您的要求更改版本号。该文件位于

onCreateView()