7

clangを使用してc++コードを解析しようとしましたが、libclangヘッダーが見つからないため、ソースコードをコンパイルできません。

私はubuntu10.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が提案したように、ソースから構築された(ubuntuでは簡単です)か、バイナリパッケージとしてパックされたllvmサイトのclangを使用する必要があります。

于 2011-05-25T15:42:03.140 に答える
4

受け入れられた回答に対するコメントでAdamMonsenが述べたように、Ubuntu 13.10以降、ファイルは次のパッケージで提供されます。

libclang-3.4-dev

要件に応じてバージョン番号を変更します。ファイルはにあります

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

于 2015-09-18T16:26:23.637 に答える