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

Con*_*CPP 6 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;
    }
Run Code Online (Sandbox Code Playgroud)

osg*_*sgx 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 中很容易)还是打包为二进制包。

  • 在 Ubuntu 13.10 64 位桌面上,我安装了“libclang-3.4-dev”。它提供了“/usr/lib/llvm-3.4/include/clang-c/Index.h”。 (6认同)