7

我试图使用 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;
    }
4

2 回答 2

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 中很容易)或者打包为二进制包。

于 2011-05-25T15:42:03.140 回答
4

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

libclang-3.4-dev

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

/usr/lib/llvm-3.4/include/clang-c/Index.h

于 2015-09-18T16:26:23.637 回答