我试图使用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;
}
答案 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)