我试图使用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)
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 中很容易)还是打包为二进制包。